text:
The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com
https://tickets.puppetlabs.com. See the following page for information on filing tickets with JIRA:
ssh::auth is currently in an unstable release. Please test it, and report bugs and feature requests on the Puppet users mailing list. Based on the results of people's testing, the interface may change for the first stable release.
ssh::auth provides centralized creation, distribution, and revocation of ssh keys for users. There are three types of hosts involved:
- keymaster – the host that creates and distributes ssh keys.
- server – a host running an ssh server.
- client – a host with users who want to log in to servers.
One host may fulfil multiple roles. At present though, the keymaster has to be located on the same host as the puppetmaster, since all files in Puppet are read on the puppetmaster.
- Each user may have one or more ssh key pairs, centrally created on the keymaster and distributed to servers and clients.
- Each key pair may be installed onto any set of clients, and enabled for authentication as any user(s) on any set of servers.
- Keys may have login options set as in authorized_keys(5), e.g. to force certain commands to run or limit port forwarding.
- Keys can be uninstalled or revoked, either manually or automatically at given intervals, and new ones automatically created and distributed.
Possible future features:
- Allow revoked keys to remain authorized for X days before they're removed (gracedays).
- Allow one key to be authorized for multiple users.
- Automatically remove any key that's not managed (purge).
- ssh::auth::server and ssh::auth::client accept just '*' as an argument, to distribute all available keys.
ssh::auth aims to provide a complete solution for managing ssh keys for users, with a well-defined and -documented interface. You may want to compare it to Recipes/ModuleSSHAuth available in Puppet.
Installation and Requirements¶
To install ssh::auth, place the file auth.pp (attached to this page) into the ssh/manifests directory in your module path: for example, /etc/puppet/modules/ssh/manifests/auth.pp.
ssh::auth has some modest requirements on the keymaster:
- ssh-keygen(1) (provided by e.g. the openssh-client package in Debian) must be present on the keymaster, or include ssh::auth::keymaster will fail.
- find(1) on the keymaster must support the -path, -mtime, and -newermt options. GNU find supports these options.
No other ssh commands or packages are required, and there are no additional requirements (other than Puppet itself) on the clients or servers.
Basic Usage¶
To create and distribute a key pair for user alice:
include ssh::auth
ssh::auth::key { "alice": } # declare a key for alice: RSA, 2048 bits
node keymaster {
include ssh::auth::keymaster
node sshclient {
ssh::auth::client { "alice": }
node sshserver {
ssh::auth::server { "alice": }
This example creates an RSA key pair for alice on the keymaster. It installs the key pair into her \~/.ssh directory on sshclient (the file names are id_rsa and id_rsa.pub, the defaults). Finally, it installs the public key of the pair into her \~/.ssh/authorized_keys file on sshserver, so that she can log in there using the private key.
In this example "alice" is just the title of the generated key. By default the ssh::auth functions also take it to be the name of the key's user. The Recipes/ModuleSSHAuth below describes how to override the defaults and set many key-related parameters.
Throughout the examples, assume that we have users alice and bob, and nodes named keymaster, sshserver, and sshclient, with the obvious interpretations.
1. With account management¶
ssh::auth doesn't manage users or their accounts; it just manages ssh keys. That's a feature: it provides the key building blocks, and you can combine them with users in any way you wish.
If you want to manage users and their keys together, it's easy to do with definitions. For example, you can start by declaring virtual users and their keys together in the global scope:
define sshuser {
@user { $title: }
@file { "/home/${title}/.ssh":
ensure => "directory",
mode => 600,
owner => $title,
group => "puppet",
ssh::auth::key { "${firstname.lastname@example.com": }
sshuser {[ "alice", "bob" ]:}
Note that you also have to ensure that a user's $home/.ssh directory exists. On a client host, you can then realize the users and install their keys:
define sshclientuser {
realize User[$title]
realize File["/home/${title}/.ssh"]
ssh::auth::client { "${email@example.com": }
node sshclient { sshclientuser {[ "alice", "bob" ]: } }
After the above, users alice and bob would both exist on sshclient, and have their private keys installed there. On a server you'd do the analogous thing, but suppose we allow more flexibility by providing the ensure parameter:
define sshserveruser ($ensure = "present") {
realize File["/home/${title}/.ssh"]
User <| title == $title |> { ensure => $ensure }
ssh::auth::server { "${email@example.com": ensure => $ensure }
node sshserver1 {
sshserveruser {
"alice": ;
"bob" : ;
node sshserver2 {
sshserveruser {
"alice": ensure => "absent";
"bob" : ;
Now both alice and bob can authenticate to sshserver1 using their private keys on sshclient. On sshserver2, bob exists and can authenticate, but alice doesn't and can't.
Every call to ssh::auth::client and ssh::auth::server implicitly includes a require => [User[$title], File["$home/.ssh"]]. So you don't have to include those in your code— it's done for you.
2. Multiple keys for one server user¶
Any set of users can be allowed to authenticate with their private keys as another user. For example:
node sshserver {
ssh::auth::server { ["alice", "bob"]: user => "admin" }
Here alice's and bob's public keys are installed into admin's authorized_keys file on sshserver. alice and bob may now both authenticate there as user admin.
3. Multiple keys for one client user¶
For most purposes, it's not a good idea to give a user more than one private key to authenticate with. A user should be identified with exactly one key pair, so that that key always represents that person on your network. But you can give them more than one if you want to:
ssh::auth::key {
"alice@server1": filename => "server1" ;
"alice@server2": filename => "server2" ;
node sshclient {
ssh::auth::client {[ "alice@server1", "alice@server2" ]:}
node sshserver1 { ssh::auth::server { "alice@server1": } }
node sshserver2 { ssh::auth::server { "alice@server2": } }
Just be sure that the keys have different Recipes/ModuleSSHAuth s, or the keys will copy over each other and the result will be unpredictable. It may even change at each run :(
Really though, I can't think of any good reason why you'd want to do this. You're better off keeping a one-to-one correspondence between users and keys. Remember: the user and the key are one. Still, the capability is there.
You might think of giving a user a group key in addition to their individual key, something like:
ssh::auth::key { "admin": user => ["alice", "bob"] } # INVALID
However ssh::auth doesn't support assigning a single private key to multiple users. Fortunately, again there's no reason you'd need to do this, since you can accomplish the same thing by allowing alice and bob to authenticate as admin with their individual keys, as in the previous example. That's better in fact, since you can tell whether it was alice or bob who logged in as admin, by looking at the key fingerprint in the log.
4. Revoking keys¶
a. User is gone¶
alice has left the network. We want to remove her key from the keymaster, servers, and clients (although this isn't sufficient to revoke her access; see Recipes/ModuleSSHAuth below).
ssh::auth::key { "alice": ensure => "absent" } } # in the global scope
node sshserver { ssh::auth::server { "alice": } }
node sshclient { ssh::auth::client { "alice": } }
Note that we set alice's key to be absent in the main declaration, and then leave it in the node definitions, at least for now. If we remove it from the definitions, it won't be managed any more and so will presumably be left in place on the nodes! By leaving it in the node definitions, we allow ensure => "absent" to propagate out to the nodes, so that Puppet removes the key. At some later time when we're sure that the key has been removed from all of the hosts, we can remove its declarations from the manifests. (You don't have to do anything else to remove the key from the keymaster; it will already be removed because of ensure => "absent".) See Recipes/ModuleSSHAuth .
b. Compromised key¶
alice is still with us, but her key has been compromised. We want to revoke the existing key, and create and distribute a new one. If today is November 30, 2009, then a simple way to do this is:
ssh::auth::key { "alice": mindate => "2009-11-30" }
This says that any existing "alice" key created before 2009-11-30 should be removed, and a new one generated in its place. The new key will be distributed to clients and servers on their next Puppet runs. If a client host was compromised too, be sure to remove it from your manifests so that it doesn't receive alice's new key!
Another way to force replacement of an existing key is:
ssh::auth::key { "alice": force => true }
The force option always forces regeneration of the target key. That's a good quick fix for a compromised key, but you wouldn't want to leave it in place, or alice would get a new key every time Puppet ran, i.e. every 30 minutes. The mindate parameter is better because you can leave it in place, and it will also serve to document when you last replaced the key.
c. Rotating keys¶
We want to replace alice and bob's keys every 90 days:
ssh::auth::key {[ "alice", "bob" ]: maxdays => 90 }
As soon as either alice or bob's key becomes older than 90 days, a new key will be created, then distributed to clients and servers on their next Puppet runs.
d. Revoking authorization¶
alice and her key are fine, but we want to revoke her authorization to use a server. On that node only, we override the ensure parameter for her key:
node sshserver { ssh::auth::server { "alice": ensure => "absent" } }
Again this declaration should stay in place at least until we're sure that the key has been removed from the server.
Warnings and Limitations¶
Key synchronization¶
After you expire and regenerate a key, during the interval between a client and server's next Puppet runs, the keys will be different on the two hosts and authentication will be denied. The problem will be resolved once both hosts have completed their runs and received the new key, i.e. within 30 minutes on a typical installation. Even so, the user will of course still be unable to authenticate from any host that hasn't been updated using ssh::auth::client. Be prepared to provide the new key to them in an alternate, secure fashion. You can always find the current set of managed keys in $ssh::auth::keymaster_storage (e.g. /var/lib/keys) on the keymaster.
Denying access¶
Revoking a user's ssh keys isn't generally sufficient to deny her access to a host. She might still log in by password, or she might already have authorized another key for her account. Removing unwanted keys is good housekeeping, but to deny a user access to the host, you need to disable her account.
Control of key files¶
The previous point illustrates that when a user has write access to his authorized_keys file, you can't effectively limit which keys can authenticate him, or enforce access Recipes/ModuleSSHAuth on his allowed keys. The reason is that he can simply overwrite authorized_keys with a version more to his liking. You may be tempted to exert more control by making root the owner of authorized_keys, and denying write access to the user. That approach will generally fail, because all the user has to do is mv \~/.ssh/authorized_keys othername — in Unix that operation requires write access only on the containing directory, not on the file itself. Well okay then, suppose you also deny the user write access to \~/.ssh? I'll leave it as an exercise to show that in order for that to work, you'd then have to also deny the user write access to his own home directory — an undesirable situation.
Other solutions, such as making the key files immutable or keeping them in a root-controlled repository, are possible but also have drawbacks. We won't discuss those further here, but will just note that for now, ssh::auth doesn't provide an option to change the ownership of authorized_keys. If you need this functionality, please post a message to the Puppet users mailing list and we can discuss it.
For private key files, restricting write privileges (for example, to enforce password quality rules) is quite obviously useless, since the user can simply create their own copy of the private key, adjust it as they like, and use that one instead.
Note that these concerns don't really apply to system users, since those aren't autonomous but are under the direct control of root.
Losing track of keys¶
ssh::auth tries to keep track of keys and remove them when they're revoked, but its method isn't perfect. Here's how you can fool it:
- Change the key title. If you change the title in an ssh::auth::key definition, you haven't changed the title of your existing key. Instead you've declared a new key, and if the old one isn't declared any more, ssh::auth will simply forget about it and it will stay in place and authorized on the clients and servers. To avoid this, don't change a key's title: create a whole new definition for the new key, and separately revoke the old key.
- Remove the key declaration without revoking it. Similarly, if you remove a key's declaration, you haven't removed the key. Again, without the declaration ssh::auth will forget about the key and it will stay in place and authorized on the clients and servers. To avoid this, don't just remove a key's declaration: revoke the key by leaving its declaration in place with ensure => absent. After enough time has passed that you're sure the key has been removed from the servers (clients are less important), you can remove its declaration from your manifests.
- Change the $filename. If you change the $filename of a key, the old private key will be left in place on the clients under its previous filename. This is a bug that should be fixed in future releases. Fortunately it's really just a housekeeping issue, not a security issue: as long as the key is de-authorized on the server, it doesn't matter if copies of it are left on the clients (and you can't guarantee that the user doesn't still have copies anyway).
- Change $home or $user. ssh::auth inserts and removes public keys into the user's $home/.ssh/authorized_keys on the server. If you change $home without first revoking the key, then the key will remain in place and authorized in that location. Again the solution is to first revoke the key, with e.g. ensure => absent, before changing $home. Note that $home is determined by default as /home/$user, so the same warning applies if you change $user while using the default $home.
It's hoped that these gaps will be reduced or eliminated in future releases of ssh::auth.
Unencrypted private keys¶
ssh::auth creates private keys unencrypted, i.e. with empty passphrases. Users can add passphrases themselves using ssh-keygen -p, or, if you feel you need the keys to have passphrases, you could probably add a passphrase-creation step before distributing the keys. (If you create such a facility, please consider submitting it for inclusion into ssh::auth.) Note however, that in general there is no way to force users to encrypt their private keys, since even if you force a user to create a passphrase, they can always remove it later with ssh-keygen -p. You could try restricting write access to the private key files, but see Recipes/ModuleSSHAuth . There is also no way for a server to detect whether a key has a passphrase, nevermind a strong one. This is a limitation of ssh.
Key rotation¶
Rotating keys regularly is probably a good idea, but it only gets you so far and gives diminishing returns as you do it more often. In the extreme you could rotate keys every day, but it wouldn't really buy you more security. The reason is that in order to distribute the keys automatically, we have to rely on Puppet's host-based encryption and authentication mechanism. Therefore we really only shift our trust from the ssh keys to Puppet's SSL keys. Yet if a client host is compromised, the attacker can steal either type of key with equal ease. So rotate your ssh keys at reasonable intervals, but protect your hosts too, and consider rotating Puppet's keys as well (sorry, ssh::auth can't do that!).
Detailed Usage¶
To manage keys with ssh::auth you have to:
- include ssh::auth in the global scope of your site manifest (or at least, in an enclosing scope of your keymaster, client, and server node definitions). Typically this would be outside of all of your node and class definitions in manifests/site.pp.
- Declare your keys with ssh::auth::key, also in the global scope.
- Create the keys by invoking include ssh::auth::keymaster on the keymaster.
- Create a $home/.ssh directory for each key user on each client and server.
- Distribute the keys by invoking ssh::auth::client and ssh::auth::server in the client and server node definitions.
Every key is uniquely identified by its title, which must be the same in all of the method calls that refer to it. For example, if you create a key with ssh::auth::key { "firstname.lastname@example.com": }, then you have to use ssh::auth::client { "email@example.com": } and ssh::auth::server { "firstname.lastname@example.com": } to distribute that key.
A key title can be anything, as long as it's unique among ssh::auth::key resources (Puppet enforces this), begins with a letter or digit, and contains only the characters A-Za-z0-9_.:@–. However, there is an advantage to naming the key as either user or user@domain, since ssh::auth uses the part of the title up to the first @ character (if any) as the key's default user. For example, a key named email@example.com would be assigned to user bob on both the client and server, unless the user parameter was explicitly overridden.
It would be nice if ssh::auth could create the $home/.ssh directories for you, but unfortunately it has no way to do that while guaranteeing that the directory definitions are unique, as Puppet requires. So you'll have to create the directories yourself, as #4 above says. Every user's keys will automatically require that user's $home/.ssh directory, if it's declared in your node manifests.
A definition that creates, regenerates, or revokes private/public key pairs, for distribution to servers and clients. Invoke this in the global scope of your site manifest, for each key that you want to manage. Key titles must be unique, begin with a letter or digit, and consist only of the characters A-Za-z0-9_.:@– .
All parameters for ssh::auth::client and ssh::auth::server may also be set in the call to ssh::auth::key. They become the default values for that key but may be overridden in ssh::auth::client and ssh::auth::server. For example,
ssh::auth::key { "alice": ensure => "absent" }
node sshserver { ssh::auth::server { "alice": } }
node sshclient { ssh::auth::client { "alice": } }
ensures that alice's key is removed from the keymaster, sshserver, and sshclient, since ensure => "absent" becomes the default for that key, and propagates through to the calls to ::server and ::client.
"present" or "absent", to ensure that the key is present or absent. If "absent", then all of the other parameters of ssh::auth::key are ignored: the existing key is simply removed from the keymaster. It will be removed from clients and servers too if you call ssh::auth::client and ssh::auth::server there, since "absent" will become the default for this key. Note that removing a user's key is generally insufficient to deny her access to the servers; see Recipes/ModuleSSHAuth .
The name of the key files, on the client. For example if the filename is "id_rsa", then the key files are id_rsa and id_rsa.pub, both in $home/.ssh. The default is "id_rsa" or "id_dsa" if the $keytype is "rsa" or "dsa", respectively. You shouldn't normally have to change the filename from the default, unless a user needs multiple keys and you need to avoid file name conflicts. If you do use a non-default filename, the user will have to add it explicitly to any calls to ssh(1) or ssh-add(1). filenames must begin with a letter or digit, and consist of only the characters A-Za-z0-9_.:@– .
true or false. If true, the key is forced to be regenerated. You can use this to force key regeneration one time, but it wouldn't make sense to leave it set to true, unless you want your users to get new keys every 30 minutes. If false (the default), then the key is regenerated only if the maxdays or mindate conditions aren't met.
Name of the group that should own the key files, on the clients and servers. Default is "puppet".
The user's home directory. Defaults to /home/$user. The key files will be installed into $home/.ssh on the clients and servers.
The ssh key type: "rsa" for RSA keys, or "dsa" for DSA keys. Default is "rsa".
The key length, in bits. For $keytype="rsa", the default is 2048. For $keytype="dsa", ssh-keygen(1) requires the length to be 1024 bits, so this parameter is ignored.
The maximum allowed age of the key, in days. If a key of this title exists and is older than this many days, it will be removed and a new one generated and distributed.
Set this to a date string to ensure that the key was created on or after that date. The date may be given in any form accepted by find(1)'s -newermt option. With GNU find(1) and date(1), just about any date format you can think of will work: e.g. "2009-11-30", "11/30/09", "30-Nov-2009", "November 30, 2009", and so on all work. If a key with this title exists and was created before the given date, it will be removed and a new one generated and distributed.
Public key options, on the server. These are used to control the user's access, for example by forcing a command to run at login, or allowing only certain ports to be forwarded. See "Authorized_keys file format" in sshd(8) for the complete list of options, but see also Recipes/ModuleSSHAuth for why this probably won't work as you'd like it to. The default is empty. Multiple options should be given comma-delimited in a single string.
The name of the user who will use this key to authenticate. This user does not have to exist on the keymaster. It does have to exist in the configuration of the servers and clients where the key is to be installed, and will automatically be required there. The user applies by default to both the servers and clients but can be overridden on either. Default is the part of the title up to the first @ character if there is one.
A class that creates a storage area for the managed keys, and does the work of creating, regenerating, and removing the keys. You just have to
include ssh::auth::keymaster
in your keymaster's node definition. Note that the keymaster must currently be on the same node as the puppetmaster, since the keymaster reads files from the file system, which in Puppet must always be that of the puppetmaster.
Installs or removes keys into user accounts on an ssh server, so that the users can use them to authenticate, i.e. log in. The title must identify a key that has already been declared using Recipes/ModuleSSHAuth .
The public key is installed or updated in or removed from the user's authorized_keys(5) file on the server. Puppet's native Type Reference type is used to do this.
ssh::auth::server supports the following parameters:
- ensure
- home
- options
- user
All of these parameters can also be set in ssh::auth::key, so they're described there. Parameter values set in ssh::auth::key become the default for that key, but can be overridden for any server in ssh::auth::server.
Installs or removes keys into user accounts on client hosts, so that the users can use them to authenticate to servers. The title must identify a key that has already been declared using Recipes/ModuleSSHAuth .
Key files are installed into $home/.ssh, where $home is the user's home directory. Before you do this, consider that your users may already have their own ssh keys that could be overwritten. ssh::auth::client does not, at present, have any way to detect this, and will simply overwrite any existing key files having the same name. You can avoid this by setting the filename parameter to a unique value, such as the domain name of your site. Your users will then have to explicitly name the private key file in any invocations of ssh(1) or ssh-add(1).
ssh::auth::client supports the following parameters:
- ensure
- filename
- group
- home
- user
All of these parameters can also be set in ssh::auth::key, so they're described there. Parameter values set in ssh::auth::key become the default for that key, but can be overridden for any client in ssh::auth::client.
ssh::auth::key, ::client, and ::server support all of Puppet's Metaparameter Reference , so you can add require, before, et al. to any of them in the usual way. Remember that each of them already requires the user of a key, so you don't need to add that.
Referring to the ssh::auth definitions in metaparameters of other resources is harder, because Puppet doesn't currently support the necessary syntax. That is, you would normally require e.g. an ssh::auth::key by writing
require => Ssh::auth::key[$title] # INVALID
but as of version 0.25.1, this is a syntax error because of the colons in the name. TODO: workaround?
The following variables provide defaults that influence ssh::auth's behavior. You can override them either by changing them in the source file (they're all set at the top of auth.pp), or by … FIXME
The name of the directory where generated keys are stored on the keymaster. Default is /var/lib/keys.
Error Messages¶
Could not find class/resource type¶
Any of the error messages
Could not find class ssh::auth::keymaster
Could not find resource type ssh::auth::server
Could not find resource type ssh::auth::client
means that you didn't put include ssh::auth in an enclosing scope of your node definitions. Try putting it in manifests/site.pp, before any class or node definitions.
Failed to realize virtual resources¶
If you get an error message like
Failed to realize virtual resources Ssh_auth_key_client[X] on node Y
on the puppetmaster, it means that you called ssh::auth::client without declaring the key with ssh::auth::key in an enclosing scope. The analogous message applies to ssh::auth::server without ssh::auth::key.
Could not retrieve dependency 'User[X]'¶
An error message like
Could not retrieve dependency 'User[X]' of File[/home/X/.ssh/authorized_keys]
on a client or server means that you're trying to install a key for user X on that node, but you haven't declared user X in its manifest.
Private/public key file not found on keymaster¶
You may see a warning message like
Private/Public key file for key X not found on keymaster; skipping ensure => present
on a client or server, on the first run after you've declared a new key. This happens if Puppet hasn't run on the keymaster yet, so that no keys have been created yet. The warning should go away on the next run, after the keymaster has run and created the keys.
Here is how ssh::auth compares to the other ssh-related tools available in Puppet:
Type Reference is a native type in Puppet, that installs servers' public keys into ssh_known_host files. It only manages server public keys. It has nothing to do with user keys.
Type Reference is a native type in Puppet for managing users' public keys. It will install, update, or remove public keys in authorized_keys files on servers, and ssh::auth uses it for that. It puts the key title into the comment field in authorized_keys, and uses that comment to identify the key. It won't create key pairs or manage the key files, and it has a few quirks.
Authorized keys recipe¶
The Recipes/Authorized_keys is an example of how to manage ssh keys in Puppet. It was an inspiration for ssh::auth, and has some of the same features. However it has some problems:
- It's poorly documented.
- It doesn't provide installable module code.
- It mixes ssh key management together with user account management.
- It enforces root ownership and control of the key files.
- When a key is created or changed on the keymaster, any invocations of ssh::auth::client or ssh::auth:: server on the keymaster won't find the new key until the next Puppet run.
- If you change a key's filename, ssh::auth will forget about the previous key files and leave them in place on the clients. To avoid this you have to remove the key first (ensure => "absent") before changing the filename. This problem doesn't affect servers or the keymaster, which don't use the filename.
- If a user has two keys with the same filename, there's no telling which one they'll get. It will probably change back and forth randomly at each run :(
See also Recipes/ModuleSSHAuth . Bug reports and feature requests are welcome on the Puppet users mailing list.
Version Date Comments 0.3.2 2009-12-29 – Fix wrong $home when user is specified separately for a client
or server
- Clarify that ssh::auth doesn't manage $home/.ssh
0.3.1 2009-12-28 – Fix parser error in ssh_auth_namecheck
0.3 2009-12-22 – Regenerate key if $keytype or $length changes – Update authorized_keys if $options changes – Use ssh_authorized_keys to manage authorized_keys – Remove comment parameter. The public key comment field is now
used to identify the key, via ssh\_authorized\_keys
0.2 2009-12-09 – Fix inheritance problem with $ssh::auth::keymaster_storage
0.1 2009-12-08 Unstable release
ssh::auth is released under the GNU General Public License.
ssh::auth is written by Andrew E. Schulman <andrex at alumni dot utexas dot net>. Please send discussion of ssh::auth to the Puppet users mailing list. If you put ssh::auth in the subject, I'll see it.


text:
The Huskies thrived after Abdul Gaddy was injured and Isaiah Thomas first took over at point guard. Now Washington is struggling entering Thursday's home game against Cal.
Back when Isaiah Thomas moved to point guard and played like a Pac-10 MVP candidate during a scintillating six-game stretch, people seemed to forget about Abdul Gaddy.
The Huskies thrived under the new leadership of Thomas, who replaced Gaddy at point after Gaddy suffered a season-ending knee injury.
Washington won five of six games during the stretch. The offense never looked more explosive — racking up 103 points against Oregon State and 92 at California in a 21-point victory on Jan. 16.
- Power restored after major, hour-long outage in downtown Seattle
- Trump, Clinton win Washington state primary
- Designed in Seattle, this $1 cup could save millions of babies
- Boeing plans hundreds of layoffs in local IT unit
- Walkoff magic! Leonys Martin's dramatic homer in ninth lifts Mariners
Most Read Stories
"I thought initially when we first played them they were better without him," Cal coach Mike Montgomery said of Gaddy. "Now to say that Isaiah had 27 points and 13 assists against us and that was the first time they put him at the point and just let him go.
"It's hard for me to say they weren't as good because they were clearly better and he dominated the game."
In the past three games, all UW defeats, Thomas has been less dominating and, at times, dreadful.
The junior missed 10 of 13 shots and committed seven turnovers in a defeat at Washington State. Against Oregon State, Thomas finished with seven turnovers and nine points on 2-for-11 shooting.
Making matters worse for the Huskies, senior backup point guard Venoy Overton is mired in a seasonlong slump. He has yet to regain the form that made him one of the most feared perimeter defenders in the nation last season.
In light of the backcourt struggles, Gaddy's absence becomes more noticeable.
It's one of many problems Washington (15-7, 7-4 in Pac-10) must solve before Thursday's 6 p.m. game against Cal (13-10, 6-5) at Edmundson Pavilion.
Thomas admits the Huskies miss their former floor general, who started 41 straight games as a freshman and sophomore before tearing knee ligaments Jan. 3 in practice.
"If we were winning, you guys wouldn't think we were missing him," Thomas said. "That's what it comes down to: We miss him.
"Even if we'd won every game, we still miss him. He's a big part of our team."
Without Gaddy, Thomas carries the offense on his 5-foot-9, 185-pound frame.
Thomas and the Huskies flourished early before opponents adjusted. Lately teams have used a densely packed 2-3 zone that's denied his drives and negated UW's pick-and-roll offense.
"Maybe the depth issue has started to rise up," Montgomery said. "Maybe people have scouted now and see what he does, where we really didn't have that opportunity.
"It always hurts to lose a really good player."
Even with just nine healthy scholarship players on the roster, coach Lorenzo Romar contends depth hasn't been an issue in UW's three-game losing streak.
Yet when redshirt freshman C.J. Wilcox missed the Washington State game with a concussion, the Huskies were limited in the backcourt. Thomas played 37 minutes, and junior Scott Suggs logged a career-high 35.
When Overton is unable to provide a spark off the bench and commits more turnovers (eight) than assists (three), as he did in the past three games, the Huskies miss Gaddy's calming influence.
"When things were going south offensively and we weren't taking good shots, he was kind of there to settle you down a little bit," Romar said. "So, yeah, you miss that part."
Romar believes Washington wings Justin Holiday, Terrence Ross, Suggs and Wilcox need to be more active offensively to help Thomas.
He also said Overton displayed signs of breaking out of his slump last Saturday during the 81-76 loss at Oregon.
"We don't go to the (NCAA) tournament without Venoy last year," Romar said. "He's proven himself and I think when guys have proven themselves they earned the right to go out there and be able to play.
"We believe in him. We know that he's capable of doing it."
Percy Allen: 206-464-2278 or firstname.lastname@example.com

subset: commoncrawl


text:
John Meintz, punished during World War I
ca. 1917 - 1918
Records of District Courts of the United States
National Archives Identifier: 283634
Meintz was tarred and feathered for not supporting war bond drives. Front and rear views, showing feathers stuck on his body.
Document contains: 1 page.
A minimum resolution of 1024 x 768 is recommended.
To access this document off-line, you can print this document.


text:
Simple Say
An easy-to-use GUI for terminal command 'say'
Download Now
Source Code
Type into the textbox and click "say" to have your computer speak what you typed. Choose from 23 different voices.
You can even have it read from a text file, or convert the speech into an audio file 'voice.aiff' in your working directory.
Use Simple Say to create your own audiobooks, or speech sounds for your Game Maker projects, but most of all use it to have fun!!
and yes, this was made in game maker ( i ripped the mac graphics)
Please give credit if you expand upon the source code
Uses the run_terminal extension created by ugriffin
Edited by vertex67, 15 December 2010 - 06:30 PM.


text:
Meet and Communicate with Fun Singles Near You on JDate
Register now to search thousands of members and post your FREE profile!
See who's on JDate:
144241331 is a 53yr-old single man in Alexander City, AlabamaView Profile
141759876 is a 46yr-old single man in Montgomery, AlabamaView Profile
I am a man of good personalities and honor. I like been interactive with people and knowing more about life.
markmill is a 50yr-old single man in Arab, AlabamaView Profile
The past shape our present, but i say, our presence is shaped according to those experience we decide to accept,. You should refuse to ...
119395362 is a 59yr-old single man in Mobile, AlabamaView Profile
My name is Marcus i am frm Georgiaam a single father,looking for friendship,love,seriuos relationship and a companion.Am good looking,l...
forualwaysBE40 is a 46yr-old single man in Eight Mile, AlabamaView Profile


text:
"Oh, I love my job here its so rewarding everyday I just go home and I know I've done something good," says Farm Share Director Dave Reynolds.
Dave Reynolds mills around this warehouse organizing fresh produce and food donated from farmers. Reynolds worked in many industries prior, but he says feeding people has been his favorite job of all.
"It's not stressful, everybody is happy when they come," says Reynolds. While he's not mother Teresa, Farm Share Dave has helped feed about 55,000 local families. Area farmers drop off excess produce and other food that may not make the supermarket cut, then it's given to organizations to distribute.
Reynolds show WCTV some of the produce. "As you can see, they're perfectly good tomatoes, could definitely be eaten."
It hasn't been a year since the doors opened and the Quincy program serves 80 agencies, and has given out more than 1 million pounds of food to 11 north Florida Counties.
Reynolds says, "We get orange juice donated, we get tomatoes donated, corn water melons, we also get squash, zucchini, eggplant."
Jolly Moore picks up food for church."We serve a lot of people and everybody needs some help sometime."
Henry Patterson picks up food for his church then drives it to the elderly and disabled.
"Maybe someone is disabled, maybe they do not drive so we got out to different communities and we deliver," Patterson.
Farm Share
18212 Blue Star Hwy
Quincy, FL 32351
Phone:(850) 627-9500


text:
Jesus has returned ... north of Cincinnati
MONROE, Ohio (AP)
A southern Ohio church has drawn a standing-room crowd for the dedication of a giant likeness of Jesus Christ that replaced a similar iconic statue destroyed two years ago in a lightning fire.
The Dayton Daily News (http://bit.ly/V3JTjT ) reports that the Solid Rock Church in Monroe, north of Cincinnati, dedicated the 51-foot statue at a service Sunday night.
Nicknamed "Hug Me Jesus," the lighted statue depicts a full-bodied Jesus who's standing with open arms. It looms over the adjacent lanes of Interstate 75.
The previous statue that was ruined by lightning in 2010 was known as "Touchdown Jesus" or "Big Butter Jesus" for its creamy color. It depicted a waist-up Jesus with arms uplifted.
Sculptor Tom Tsuchiya received a standing ovation from the crowd Sunday night.
"You shall not make for yourself a carved image, or any likeness of anything that is in heaven above, or that is in the earth beneath, or that is in the water under the earth." Exodus 20:4
So an act of God (lightening) stikes this statue, destroying it and instead of the congregation saying, "oh hey, there's that passage in the Bible where God says we aren't supposed to have this", THEY REBUILD IT!! geez oh pete.
It's not a graven image. That would be a golden calf or a picture of ODumbo!
Big Butter Jesus!! Sweet Cream Jesus! O Country Fresh Jesus, Unsalted Jesus, O Promise Jesus, Imperial Jesus, Can't believe its not Jesus!


text:
Environmental Management Equipment in North Dakota
Enerac - Model 3000E - Portable Electrochemical Emissions Analyzerby Enerac Inc. based in Holbrook, NEW YORK (USA)
The ENERAC Model 3000E is the most advanced and accurate electrochemical emissions analyzer ever produced. With its range of automatic QA/QC capabilities, the Enerac 3000E provides accurate, documented, defensible data for compliance monitoring purposes, e.g. NSR, Title V Periodic Monitoring, CAM Plan Development, Emission Trading, PAL, Audits, ...
Xerxes - Water Conservation Tanksby ZCL Composites Inc. based in Edmonton, ALBERTA (CANADA)
Xerxes water tanks in either underground or aboveground configurations have become a superior option for a wide range of water capture and storage applications. Water is increasingly viewed as a limited and precious resource. Collecting and reusing it has taken on a new significance.
Moby & Portable Moby - Compact Bird Dispersal Systemby Nixalite of America Inc. based in East Moline, ILLINOIS (USA)
The Moby Portable bird hazer is specifically designed for areas plagued by small birds. Preset at the factory, the Moby portable dispenses a thicker haze to get small birds out of the area more quickly. While thicker, the haze is still a light and dry repellent.
TweetZilla - Bird Haze Generatorby Nixalite of America Inc. based in East Moline, ILLINOIS (USA)
Produces an ultra-fine, virtually invisible haze of humane bird repellent to protect your property from pest birds and pest bird mess. TweetZilla Haze Generators are automated, self-contained electric ULV fogger that uses MA (Methyl Anthranilate) bird repellent to disperse flying birds. It provides effective control in locations where other ...
SuperHoot - Hazer Large Bird Dispersal Systemby Nixalite of America Inc. based in East Moline, ILLINOIS (USA)
An automated, self-contained high capacity electric ULV fogger and bird hazer that uses MA (Methyl Anthranilate) to disperse flying birds in large open areas. Designed for rooftops and large open spaces, SuperHoot combines patented technology and variable programming to protect spaces that cannot be treated with traditional bird control methods.
Enz-Odor - Model 4-20XN F - Industrial Grease Digesterby AquaBio Environmental Technologies, Inc. based in Marina del Rey, CALIFORNIA (USA)
Formula Type: Dry - Product Description: Industrial grease digester, contains NO surfactants - for use in waste treatment plants and food processing industry.. Contains 10 gram-positive Bacillus strains and 4 gram-negative strains. Total count 5 billion CFU per gram.(2.27 trillion CFU/lb).
Dissolved Air Flotation - Model DAF Wastewater Treatment Systemsby SkimOil Inc. based in Carrboro, NORTH CAROLINA (USA)
The DAF process consists of super saturation of discharge water from the effluent end of the DAF tank with air. The super saturated water stream is then mixed with the wastestream. As pressure is removed from the saturated stream millions of microscopic bubbles form and attach themselves to the contaminants in the wastewater, thereby changing ...
Model KI-FD85N - Floor-Dry Granular Absorbentby West Coast Spill Supplies Ltd. based in Saanichton, BRITISH COLUMBIA (CANADA)
Granular absorbent comprised of 100% Diatomaceous Earth - (Diatomaceous Earth (DE) is the skeletal remains of single-celled aquatic plants).
Airport Deicing Fluid Treatment Systemby Dynatec Systems Inc. based in Burlington, NEW JERSEY (USA)
Dynatec provides a unique system that treats spent airport deicing fluid to provide reuse quality water and recover glycol.
Cupolex - Gas Protectionby Cupolex Building Systems - Pontarolo Engineering Inc. based in Concord, ONTARIO (CANADA)
More and more housing and commercial developments are being built on sites where toxic and hazardous gases such as methane, radon, carbon dioxide, carbon monoxide and other VOCs are present or may be present in the future. The CUPOLEX Pre-Emptive Mitigation System has been developed to facilitate the dilution and dispersal of these harmful vapors ...


text:
A Different ViewBy Posted: Jun 3, 2003
Erin Hershey Presley (Alison) thought she had a challenging job working on Port Charles with its doubled-up production schedule -- until she served as a guest co-host on The View. "I think that their job's a little harder," Presley concedes. "If we had a new cast member every day, it would be hard for your rhythm."
The actress admits it took a little time to find that rhythm in her new surroundings. "I was really nervous. I didn't know what to expect," she confides. "I didn't know they wear earpieces and they listen to the control booth. It was a little nerve-wracking listening to that and trying to stay focused and follow along with the show. It was scary for about five minutes. Then you just wing it."But the biggest challenge for Presley wasn't the listening -- it was the talking. "They don't let you interject a lot," she says with a laugh. "They start talking so much. They listen to each other, but I don't think their ears are trained to listen to an outsider." But all in all, it was an eye-opening experience. "I enjoyed myself," she asserts. "And (executive producer) Bill Geddie is really, really nice."


text:
Omelet for Two Recipe
Sandi Pichon of Slidell, Louisiana gives a little zip to her family's breakfast omelets with a rich and satisfying sausage filling. Each tasty omelet serves two.
- 1/2 cup sliced fresh mushrooms
- 2 tablespoons butter, divided
- 1/4 pound bulk pork sausage
- 1 tablespoon all-purpose flour
- 1/4 cup milk
- 1/8 teaspoon salt
- Pepper to taste
- 1/2 cup sour cream
- 4 eggs
- 1/4 cup milk
- 1/2 teaspoon salt
- 1/4 teaspoon pepper
- 2 tablespoons butter
- 1. In a large saucepan, saute mushrooms in 1 tablespoon butter. Remove mushrooms and keep warm. In the same pan, cook sausage until no longer pink; drain. Add remaining butter. Stir in flour until blended. Gradually add milk, salt and pepper. Bring to a boil; cook and stir for 2 minutes or until thickened and bubbly. Remove from the heat. Stir in sour cream and mushrooms; set aside and keep warm.
- 2. In a bowl, beat eggs, milk, salt and pepper. In a skillet, melt butter. Pour egg mixture into skillet. As eggs set, lift edges, letting uncooked portion flow underneath. Cook until eggs are completely set. Transfer to a serving plate. Spoon sausage mixture over one side of the omelet; fold in half. Yield: 2 servings.
Nutritional Facts
1 serving (1 piece) equals 641 calories, 55 g fat (29 g saturated fat), 555 mg cholesterol, 1,388 mg sodium, 11 g carbohydrate, trace fiber, 22 g protein.
Reviews for Omelet for Two
Wine Pairings
Sparkling Wine
Enjoy this recipe with a sparkling wine.
© 2016 RDA Enthusiast Brands, LLC


text:
The onset of paralysis is sudden with Bells palsy and Ramsey Hunt syndrome, although symptoms can worsen during the early days. Bell's palsy symptoms typically peak within a few days, although it can take as long as 2 weeks. Ramsey Hunt syndrome symptoms will peak within 3 weeks. If paralysis develops slowly, tests for other causes of the palsy must be done. Patients with recurrences, particularly if within close time frames, should also be re-evaluated as a precautionary measure.
Psychologically, facial paralysis can be devastating, particularly in cases that extend for a long period, or where residuals are significant. Friends, family and doctors often have no true concept of how deeply the patient's sense of self and self-esteem is affected. You will also find that they have little or no understanding of your physical discomfort, difficulty and frustration as you struggle to do seemingly simple things that they take for granted.
There are many physical symptoms associated with facial paralysis, but the effects will differ between individuals. They can vary in accordance with the degree of nerve damage, and the location of the damage.
Muscle weakness or paralysisForehead wrinkles disappearOverall droopy appearanceImpossible or difficult to blinkNose runsNose is constantly stuffedDifficulty speaking
Difficulty eating and drinkingSensitivity to sound (hyperacusis)Excess or reduced salivationFacial swellingDiminished or distorted tastePain in or near the earDrooling
Eye closure difficult or impossibleLack of tearsExcessive tearingBrow droopTears fail to coat corneaLower eyelid droopSensitivity to light
Hearing deficitSevere painLong lasting painVertigoBlisters in ear or other areasNausea
Eye appears smallerBlink remains incomplete or infrequentTearing abnormalitiesAsymmetrical smileMouth pulls up and outwardSinus problemsNose runs during physical exertionPost paralytic hemifacial spasm
Hypertonic musclesCo-contracting musclesSynkinesis (oral/ocular well known, but can affect any muscle group)
Sweating while eating or during physical exertionMuscles become more flaccid when tired, or during minor illnessMuscles stiffen when exposed to cold, when tired, or during illness
Although the damage that causes the paralysis is specific to the 7th nerve, other nerves may be temporarily irritated. For example, temporary facial numbness or pain can result when CN-V is irritated.
Recovery is not consistent among patients. For some people the mouth may move before the ability to blink returns; in others it will be eyelids first and mouth last. Twitching may precede movement, but it doesn't always. Pain in areas starting to "wake up" may occur, or may not. The sense of taste can be odd as the sensation returns, or the sense of taste may return without any awareness of the change. Recovery can be gradual, rapid, or hit occassional plateaus. Et cetera.
Residuals may be due to one, or a combination of several factors. Initial trauma to the nerve can be minor and temporary, or significant and long lasting. When the damage is minor, recovery is likely to be essentially complete, and rapid. With more extensive damage, other factors begin to effect recovery.
In longer recoveries, other cranial nerves may try to take over for the 7th nerve, growing into passageways formerly occupied by the 7th nerve. Also, the 7th nerve can regenerate incorrectly, taking some different paths than it had followed before Bells palsy. The result is "crossed wiring" and synkinesis, which is further described in the next section.
After paralysis facial muscles have a tendancy to become hypertonic. This means they tend to be overactive, contracting when they should be at rest. Typical signs are a squinty eye, the mouth pulling up, a sore or swollen cheek, and deepened creases. Unlike skeletal muscles, facial muscles lack spindles. Muscle spindles sense when a muscle is in a contracted state, and nerves can send the appropriate signal to the muscle telling it to relax. Without these spindles, there is no awareness of the contraction, and the muscles remain in a state of tension. A muscle that can not fully relax also can not fully contract, so the range of motion becomes limited.
Learned misuse and disuse of the muscles also can effect both appearance and mobility. While the muscles are paralysed, it's natural to try to eat, drink and speak, etc., as well as you can. New habits may be learned while you're compensating for the nonworking muscles. You may inadvertantly call on inappropriate muscles to join forces and work together to accomplish movements that aren't happening on their own (learned misuse). Or you may become accustomed to compensating without using the lazy muscles (learned disuse). The effects of both may remain after nerve function returns. Both can also effect the "good" side, which may have learned unnatural patterns while its muscles were assisting the nonworking muscles.
Physical therapy can minimize asymmetrical appearance and improve mobility, even when therapy is started years after the initial paralysis.


text:
Register | Login
No BEATRÌK MP3s available for streaming.
No BEATRÌK online videos available. Search and add one now.
More places to buy metal & BEATRÌK music
No BEATRÌK music reviews posted yet.
No BEATRÌK movie reviews posted yet.
Please login to post a shout
No shouts posted yet. Be the first member to do so above!
Site links: Home | Register | Metal Music Forum | Metal Music Guides
About MMA: FAQ | About us | Contact us | Submit your music for review | Advertising informations
Follow us: twitter | facebook | rss
Sites in the MAC network: Progarchives.com — progressive rock ultimate website | JazzMusicArchives.com — the ultimate jazz music online community | MetalMusicArchives.com — the ultimate metal music online community


text:
Have Legal Questions? Ask a Lawyer Now.
Hello again Sam and thanks for writing back,
My name isXXXXX'm a licensed Texas attorney. I am honestly sorry for your circumstances, very much appreciate your patronage, and am glad to try and help out.
Accordingly, I'm pleased to say that the law is indeed on your side here. Here's how this works. It's a matter of common law (cases) as opposed to statutes. Contract law provides that each party has certain duties or responsibilities and certain rewards or benefits. Here, your duty is to pay the amount owed. You have fulfilled your duty. Your reward, so to speak, is for your sister to receive the diploma she is due, having fulfilled her end of the bargain by completing her coursework. The private school has already received its reward by virtue of the monies paid. Its duty, which it is not fulfilling, is to give your sister the diploma that she has earned. That's called a material breach of contract, it's entirely actionable (meaning filing a lawsuit) under a legal theory or doctrine called detrimental reliance and unjust enrichment. In fact, what you're outlined constitutes a rather classic case. I would suggest you mention all of this to the school (feel free to print out this information). If it still persists in not doing the right thing and withholds the diploma, you have ample grounds to have legal counsel make a formal demand of your behalf.
If you have a follow-up question or need clarification, please just say the word by using "reply" to reach me.
I truly hope all works out for you and your family.
Take care,
Ben, J.D.
DISCLAIMER: Answers from Experts on JustAnswer are not substitutes for the advice of an attorney. JustAnswer is a public forum and questions and responses are not private or confidential or protected by the attorney-client privilege. The Expert above is not your attorney, and the response above is not legal advice. You should not read this response to propose specific action or address specific circumstances, but only to give you a sense of general principles of law that might affect the situation you describe. Application of these general principles to particular circumstances must be done by a lawyer who has spoken with you in confidence, learned all relevant information, and explored various options. Before acting on these general principles, you should hire a lawyer licensed to practice law in the jurisdiction to which your question pertains.
The responses above are from individual Experts, not JustAnswer. The site and services are provided "as is". To view the verified credential of an Expert, click on the "Verified" symbol in the Expert's profile. This site is not for emergency questions which should be directed immediately by telephone or in-person to qualified professionals. Please carefully read the Terms of Service (last updated February 8, 2012).


text:
This topic is archived and can not be replied to any more.
|Qatar Airways Adds New Routes And More Frequencies posted Sat Mar 2 2002 11:44:14 by Qatar
|Qatar Airways Adds Lagos (Nigeria) posted Fri Aug 11 2006 18:09:25 by EurostarVA
|OS Adds SBZ And IAS To Its Network posted Thu Jan 26 2006 20:31:11 by VORFMD
|Qatar Airways Adds Destinations posted Thu Jun 2 2005 23:22:47 by Squirrel83
|Why DL And CO To TXL? posted Tue Oct 12 2004 02:15:00 by ContinentalEWR
|Qatar Airways Adds Beijing With A 332s posted Tue Sep 28 2004 22:02:19 by Behramjee
|Will Emirates Or Qatar Airways Add Macau And Goa? posted Sun Feb 22 2004 17:13:10 by Airmale
|Qatar Airways Add Seoul And Shanghai posted Fri Apr 11 2003 11:03:02 by HUYfan
|Qatar Airways Adds Five Routes posted Wed May 8 2002 12:55:03 by GF-A330
|Qatar Airways To Bucharest And Glasgow posted Mon Nov 13 2006 14:04:36 by 777way


text:
|Running Time: 87 mins.
|MPAA Rating: MA
|Genre: Comedy, Romance
Summary:Ben Greene, an American television writer is brought to London to work on the popular sitcom "Tedford Gate." The star of the show is Carly, an attractive American actress who has created a successful new life for herself in England after being rejected by Hollywood. Her husband Allen is the producer of the show and is the archetypal proper English gentleman. Fiona, the pretty French makeup artist on the program, is selected by Carly as the ideal wife for Ben even though she has a crush on him herself. Over sumptuous picnics in the park and stolen moments at the production offices, the crush grows stronger between Carly and Ben and the admiration and intellectual attraction between Fiona and ... Full Summary >>


text:
Info: 415.703.9562 or email@example.com
Watch the lecture on YouTube »
Guy Nordenson is a professor of structural engineering and architecture at Princeton University, faculty associate of the University Center for Human Values, and author of "On the Water: Palisade Bay." Nordenson was the structural engineer for the Museum of Modern Art expansion in New York, designed by Taniguchi and Associates; the Jubilee Church in Rome, with Richard Meier & Partners; the Toledo Museum of Art's Glass Pavilion, with SANAA; the Simmons residence hall at MIT, with Steven Holl Architects; the Santa Fe Opera House; and more than 100 other projects.
He is active in earthquake engineering, including code development, technology transfer, long-range planning for FEMA and the USGS, and research. He initiated and led the development of the New York City Seismic Code from 1984 to its enactment into law in 1995 and is currently involved in the exhibition "Rising Currents: Projects for New York's Waterfront" at the Museum of Modern Art, New York.
The 2011-12 Architecture Lecture Series is funded by Grants for the Arts / San Francisco Hotel Tax Fund; InterContinental San Francisco; Hellmuth, Obata & Kassabaum, Inc.; Jensen Architects; John Marx / Form4; McCall Design Group; Perkins + Will; Skidmore, Owings & Merrill LLP; SmithGroup; WSP Flack + Kurtz; WRNS Studio; ARCH Art and Drafting Supply; BraytonHughes Design Studios; Leddy Maytum Stacy Architects; Long & Levit LLP; SRG Partnership; Andrea Cochran Landscape Architecture; Auerbach Pollock Friedlander | Auerbach Glasow French; BAR Architects; Dome Construction Corporation; Donald MacDonald Architects; J. H. Fitzmaurice Construction; ProPM, Inc.; TANNERHECHT Architecture; and Turner Griffin Haesloop Architects.


text:
BoxWorks is getting closer, and we're working hard at BoxHQ to bring you an amazing experience this October. Today, we're pleased to announce the addition of Professor Clayton M. Christensen to our 2012 keynote lineup. Considered one of the world's foremost experts on growth and innovation, Clayton Christensen is a Harvard Business School professor and author of numerous books, including The Innovator's Dilemma (an Aaron Levie favorite), in which he explains his theory of disruptive innovation.
Professor Christensen is also the cofounder of Innosight – a management consulting and investment firm. His lauded research has been applied to national economies, start-ups and Fortune 500 powerhouses, so he's bound to share incredible insights that'll help you and your business capitalize on emerging trends in tech and the enterprise. Check out a few of his books and register for BoxWorks today.
Seriously though, register today, as it's the last day to take advantage of our early bird discount. You'll save 100 bucks on registration – and that'll definitely add up quickly if you're buying tickets for your entire team :). We can't wait to see you in San Francisco. Only 60 days to go!


text:
Description: Designed for Riley Blake Fabrics, this 108'' wide quilt backing is perfect for adding just the right finishing touch to your quilts as well as duvets, pillows, dust ruffles, light curtains and more!
go to product
Description: Designed for Riley Blake Designs, this single napped (brushed on face side only) flannel is perfect for quilting and craft projects as well as apparel and home décor accents. Colors include white and navy.
Explore Fabric.com
We're here to help
Discover Fabric.com
Sewing Center
#MadeWithFabric #SewInLove


text:
Hansard and Journals
Journals of the House
The Journals are the authoritative record of the proceedings of the House of Representatives. They are published for every sitting week, and are listed here in date order. If the Journals for the week have not been published, see Daily progress in the House.


text:
Egg on a Salad with Sundried Tomato Ranch
Let's re-define the idea of egg salad, shall we? I mean, who decided that "egg salad" should be a bunch of chopped hardboiled eggs with mayonnaise on bread? Excuse me, but how is that a salad? I don't mean to knock the traditional egg salad sandwich … there's a comforting charm in a well-made egg salad sandwich, but I have to tell you, when I think salad, I think greens. To me, a salad really needs greens before it deserves to be called a salad.
Yesterday I redefined the whole concept of "egg salad" in my mind. I put a fried egg on my salad. Really, it's nothing new, but it's new to me … it's been done before … I've seen it, but the idea of putting a fried egg on a salad sounded completely crazy to me. A fried egg? on a REAL salad? With greens? Seriously?
It sounded so completely weird to me until I made this sundried tomato ranch dressing. And my friend Melissa said to me: it would be great on eggs. Oh. my. gosh. YES! A fried egg, over easy, with that beautiful bright yellow messy, runny yolk … and toast … and crunchy green salad … oh let's toss on some avocado too … oh yes! It's brilliant! I could eat this forever … I made it again today. It's like the quickest meal ever. And it's SOooooo goood!
It is the sundried tomato ranch dressing that makes this brilliant. Without it, it's just eggs oozing all over my greens and yeah not really that exciting at all … but add that dressing and some crunchy toast and I'm happy as a clam.
(Are clams really happy? I sure hope so, cuz otherwise it would make NO sense to say "happy as a clam" … then again, we don't really know that they are happy, so why do we say that?)
Whatever. This egg salad made me happy. Like giggly from my toes to my nose kinda happy. I will never, ever, think of egg salad the same way again.
Egg on a Salad with Avocado, Sweet Onion & Sundried Tomato Ranch Dressing
I got so excited talking about the salad I forgot to tell you about the flowers! They are hosta flowers … the flowers of hostas, like hosta leaves, are edible. You probably have some growing in your yard. They taste like salad. And they are insanely beautiful, on or off a salad.
- Mixed spring greens with spinach (or whatever greens you'd like to use …)
- Green bell pepper, chopped
- Sweet onion, sliced and chopped
- Avocado, sliced and/or cut into chunks
- Organic hosta flowers (or other edible organic flowers … totally optional but they look pretty! make sure yours aren't sprayed with nasty lawn chemicals before eating, though)
- Eggs, 1 for each salad
- Thin slices of french bread or baguette, toasted
- Sundried tomato ranch salad dressing (recipe here)
- First mix up the dressing and set it aside.
- Make a good bed of greens in your salad bowl and tuck in some onion, avocado, and bell pepper. Add a few flowers if you like, around the edge, leaving a good space in the center for the egg.
- Spray a frying pan with cooking spray and heat to medium heat. Crack a fresh egg into the pan and season with Red Robin Seasoning (or salt) and freshly ground pepper. Cook it sunny side up or over easy, whatever you prefer.
- Toast the bread while the egg is cooking, then spread the ranch dressing on the bread slices.
- When the egg is done to your liking, set it gently on top of the salad. Top with the ranch (or serve on the side), and serve with the toast.
This recipe was shared at Tastetastic Thursday, Fit & Fabulous Friday, Foodie Friends Friday, Summer Salad Sunday and Manic Monday.
Roasted Asparagus, Bacon & Smoked Gouda Omelet
with fresh tomato, dill, garlic scapes and red onion
I needed something hot, hearty and healthy for breakfast this morning … after the big fundraiser last night, I was so exhausted, all I had for "dinner" was snack mix and beer. So I remembered I still had a bit of asparagus in my vegie drawer … what could I make with that?
I scrounged around and found half a tomato, some red onion, smoked gouda cheese, and a bit of bacon. Sounds like great omelet, right? It was perfect: just what I needed. Delicious, comforting, hot, and it gave my body all the things it needed … the only problem was I loaded it so full of good stuff, I had a hard time sliding it out of the pan. (This is a common problem with my omelets … I tend to overload my eggs!) No matter, I thoroughly enjoyed this delectable mess.
Roasted Asparagus, Bacon & Smoked Gouda Omelet
with Fresh Tomato, Dill & Garlic Scapes
- 1 egg + 1 egg white
- Several spears of fresh asparagus
- 2 slices of bacon
- Chopped red onion
- Chopped tomato
- Snipped dill
- Garlic scapes (the green part of the garlic plant), snipped into small bits
- Shredded smoked gouda cheese + shredded Italian blend of cheeses
- Prepare your chopped vegetables and shred the cheese.
- Set the asparagus on a baking sheet sprayed with cooking spray and set in the toaster oven (or the oven) to roast at 400 for about 5 minutes or until it's crisp tender.
- While the asparagus is cooking, in the same pan you would cook the omelet in,fry the bacon till it's crisp, then remove the bacon to a clean towel and dab the top to soak up the extra fat. Pour the bacon fat out of the pan (save it for making things like bacon popcorn!) and wipe out the pan with a clean towel so there is just a very thin layer of bacon fat there. Crumble the bacon into bits
- In a small bowl, whisk the egg, egg white, and 1 tablespoon of water till fluffy. (Use water to keep the eggs moist without sticking to the pan.) Season with salt and freshly ground pepper (and/or my favorite: Red Robin seasoning). Add the snipped dill and garlic scapes and whisk briefly to combine.
- If you do this quickly enough, your skillet or omelet pan will still be hot. Turn the burner to medium-low heat, pour the egg into the pan and rotate it a little to spread the egg out over the bottom of the pan.
- Quickly sprinkle the herbed egg with the cheeses, chopped vegetables, and crumbled bacon. By the time I got done adding everything, the egg was cooked and the cheese was melted. Still I covered the omelet and cooked just briefly to make sure everything was cooked through. The omelet should be just lightly browned on the bottom.
- With a spatula, carefully fold over one side of the omelet onto the other, then slide it out of the pan onto a serving plate. Hopefully you'll have better luck with that than I did … those tomatoes you see on top there? They were actually INSIDE the omelet when I started. Oh well! As long as it tastes good, right?
This recipe was shared at Trick or Treat Tuesdays, Cast Party Wednesdays, Tastetastic Thursday, Fit & Fabulous Fridays, This Week's Cravings: Eggs and Fabulous Friday.
Hashbrowns Supreme
My kids love to go to IHOP … frankly, I would much rather stay home and eat … it's usually much tastier and it costs so much less, but once in a while I give in and we go. I will spare you my whining about paying $7 for a plate of pancakes that I can make for less than $1 … oh wait, did I say that? This coming from the same woman that will spend $5 on a small pack of raspberries to go with the chocolate stout cake or $8 on a single glass of wine. Yeah, I know it makes no sense, but you know, we all have different priorities …
But really, both of my kids get so excited about going to IHOP when we go that it is a joy to go. Never mind having to fight the SUVs for a decent-sized parking space because their compact parking spaces might possibly be big enough for a motorcycle. But the people there are usually friendly. And the food is reasonably good. And my kids LOVE the pancakes. They debate over how to order so they can each get pancakes and hashbrowns and sausages in just the right portions. When I order coffee, I get a whole big pot of it, which is good in my book. And the hashbrowns are pretty good. I often just order a side of hashbrowns and coffee.
But IHOP completely surprised me on our last visit. They had this thing they called "hashbrown stacks" … which was mounds of vegies and cheese and eggs and all kinds of yumminess on a bed of hashbrowns … oh, I had to have one of THOSE!
It wasn't quite as good as I had hoped, but I don't fault IHOP for it. They did come up with a pretty dang awesome idea. So of course I had to try it at home …
Hashbrowns Supreme
- Hot cooked hashbrowns
- Spinach, thawed and warmed, with the excess juice squeezed out
- Mushrooms & red onions, sauteed and seasoned to taste
- Scrambled eggs
- Small slices or shredded cheese (I used slices of gouda and sharp cheddar)
- Tomato, for the top (I thought of this after the fact, but a bit of chopped tomato on top would have been just perfect.)
Top with spinach, then prosciutto.
Now add the mushrooms, onions and top with egg.
And finally top with cheese (and tomato) and put in the microwave for a minute or two to get the cheese all good and melted.
I think you could do this on a larger scale in a glass casserole dish if you have a crowd to feed. I would love to try that … maybe at the next family get together.
This recipe was shared at Newlyweds Recipe Linky, Wednesday Eats, Thursday's Treasures, Midweek Fiesta, Fabulous Friday, Gooseberry Patch Comfort Foods and Foodie Friday.
Simple Savory Little Breakfast Cups
I am not a very good gardener. I try, but the weeds just get away from me … and sometimes my plants bloom, but never bear fruit. I planted some pumpkins one year and the blossoms were so beautiful, but never made a single pumpkin. The flowers would just bloom, then fall off the vine. The same with my tomatoes this year. I have 6 big healthy tomato plants that made lots of blossoms, but produced only three tomatoes.
This is one of them:
It was my first tomato. I let it ripen on the vine until it was just perfect, then I wanted to find something really good to make with it.
Then I saw the Wicked Noodle's 3- minute Breakfast Hash. The name doesn't sound all that exciting, but her picture was so adorable. I was inspired. I got out my little ramekins, chopped up a bit of my tomato (reserving some for later … oh could I get TWO dishes out of this precious little tomato?), added some onion and cheese and egg and voila! I confess I didn't use her microwave method–I much prefer to use my toaster oven and let it bake. Baking things has a lovely way of creating a delicious smell throughout the house …
I made two ramekins because I was making this just for myself. One ramekin with toast was breakfast and the other became my lunch. (I have a small stomach! I'm sure a guy could polish off several of these …)
Simple Savory Little Breakfast Cups
- Frozen hash browns (or shredded potatoes)
- Chopped tomato, onion, jalapeno or other vegies as you please
- Shredded cheese of some kind and/or crumbled goat cheese
- Crumbles of bacon or sausage if you please (today I added some lovely low-fat, nitrate-free free range chicken-red pepper sausage)
- 1 egg
- 1/8 c. milk
- Seasoned salt (I like to use Red Robin Seasoning) & fresh ground pepper
- Fresh herbs if you like
- Spray 2 little ramekins with cooking spray and cover the bottom of each ramekin with hash browns.
- Sprinkle the hash browns with vegies and meat.
- Beat the egg with the milk and season with the salt, pepper and herbs.
- Pour about half of the egg mixture into each ramekin.
- Top with cheese.
- Bake at 375 degrees for about 20 minutes or until the eggs are set. If they spring back when you touch them lightly, they are done.
- Top with fresh herbs if you like and enjoy!
Asparagus Avec Fromage!
It's the middle of summer and getting to the end of asparagus season, but I have a precious few spears left that I want to treasure. One of my very favorite ways to eat asparagus is in an omelet. I discovered that asparagus, smoked turkey and cheese blend really well so I love to experiment with adding different herbs and cheeses. This omelet was a little bit of heaven in my day. It's Asparagus Avec Fromage! (There's a great story that goes with the "Avec Fromage" slogan, but I will have to tell it some other time when I'm more awake …)
My friends tease me that everything I make has "several cheeses" … well not EVERYTHING I make has cheese in it, but yeah I admit I do love a good cheese.
Asparagus Avec Fromage Omelet
Makes 1 omelet. Yes, just one delectable treat. Better multiply if it you have lots of mouths to feed.
- Several fresh asparagus spears
- 1 slice lean smoked turkey meat, cubed
- a couple slices of red onion, chopped
- several chopped fresh basil leaves
- fresh dill, snipped
- freshly shredded romano cheese
- goat cheese crumbles
- shredded Italian blend of cheeses
- 1 egg
- 1 egg white
- 1 1/2 t. water
- Red Robin Seasoning (if you don't have Red Robin Seasoning, you can make your own or use seasoned salt, but it's not quite the same!)
- freshly ground pepper
- Spray a small baking sheet with cooking spray. Wash asparagus and cut off any "bad ends". Place on tray and spray with cooking spray, then sprinkle with Red Robin Seasoning. Roast in an oven or toaster oven at 350 degrees for about 10 minutes or until crisp-tender.
- Chop and prepare the turkey, herbs and cheeses.
- When the asparagus is roasted, chop it into small chunks.
- Crack eggs into a bowl, add water and sprinkle with Red Robin Seasoning and freshly ground black pepper. Whisk with a fork or whisk until fluffy.
- Heat up your favorite omelet pan to medium heat, pour in eggs to cover the bottom of the pan. Reduce heat to med-low. Sprinkle on the prepared ingredients. I like to start with the asparagus, then turkey and onion, then the cheeses, and top it with the fresh herbs.
- Cover and cook until the cheeses are good and melty and the eggs are fully set.
- Carefully fold over half the omelet and slide onto your plate. I like to serve with toast. I toast my toast twice: first a light toast, then butter it, then toast it again to get the butter all melted into your toast.
I can usually only eat about half an omelet, but with this one, I ate the whole thing! So if you have someone you are sharing with, make sure to make one for them!


text:
By: Zoe Roark
Number of Reviews: 139
Average Score: 66
Visit Brick House Butts
Money Back Guarantee
If you're not completely satisfied within three days of joining this site, email us and we'll ensure that you get your money back! (Note: Does not apply to accepted cross sales.)
If you're not completely satisfied within three days of joining this site, email us and we'll ensure that you get your money back! (Note: Does not apply to accepted cross sales.)
"The biggest asses on the internet." "Big giant thundering butts that will swallow your cock." Brick House Butts has all that and more. These bulging butts are mostly shades of chocolate brown, but there's a small white-booty collection thrown in for good measure. No matter what color, they do live up to the promise of humongous rears.
There are 71 videos on BrickHouseButts. Some can be downloaded in their full lengths, while others are only available as clips. The full downloads can be saved as Windows Media, Flash, QuickTime, MP4 and MPEG files, but I should point out that the scenes that only come as clips are usually far less impressive. The full-length MPEGs will usually give you great-quality playback. Some of the flicks come with vid caps rather than actual photographs, but there are 44 photo galleries that come with high-res pics that you can view in slideshows.
The site really is aptly named. Bubble, round and phat - none of these words can truly describe the asses here. I don't know if these are literally the biggest butts on the Internet, but you'd be hard-pressed to find something that beats them. They jiggle, wriggle, shake and quake - and you'll seriously enjoy each one.
If butt girth is your desire, let me point you in the right direction. For bouncing buns banging up and down on a black pole, take a look at Cherokee. For a magic disappearing trick, see Aymee envelop her dude's face by sitting on it. Some of these chicks were enticed through the promise of tasty pancakes, so take a peek at Crystal's devotion to her food. Or observe Lenore and Pinky greased from head to toe - for easier handling, of course.
The site hasn't updated since August 2012. There's one vid that seemingly dates from 2013, but rest assured that it was actually posted a year prior. Given this, it's great to know that you get access to the entire Filth Freaks network. They can check out more than 60 additional sites, including Phat Booty Hoes and Bubble Butt Orgy. Not all the bonus sites are updating, but there's still a whole lot of extra porn at your disposal.
Brick House Butts may satisfy big-butt fans initially, but you might get more butt for your buck elsewhere in the long run. The website would really be much better if it started updating again, but the large network does add value.
* Please include a pro and a con about the site. Balance is essential in making a comment worthwhile. Scores without comments will be deleted.
* Watch out for ratings of zero and 100. In our opinion, there is no such thing as a site that is absolutely perfect or completely worthless.


text:
Henan Yilong Machinery Co.,Ltd
road machine, road equipment, chip sealer, dust collector, project machine, Manufacturer and Supplier - China
The XC0408D dust collector is a type of blowback dust collection equipment specially designed for PW2550DA and PW2800DA shot blasting machines, which can be used as strong cleaning equipment on pavements as well. It's small-sized, portable and ... - Update: 2011-05-05
The automatic rubberized (powder) asphalt distributor manufactured by our company can not only spray rubber asphalt, but also spray emulsified asphalt, cutback asphalt, heated asphalt, high-viscosity modified asphalt and other binders. This machine i... - Update: 2011-05-05
The JQ5251TLS asphalt rubber synchronous chip sealer distributes asphalt binder and macadam simultaneously, which gives them most sufficient surface touch to obtain the biggest adhesion. The equipment, which is compact, handy and practical, is develo... - Update: 2011-05-05
Based on a thorough research on many kinds of rubber asphalt plants in aspects including working principle, structure, construction technology and development trend, we develop a type of portable rubber asphalt plant. The modular structures can be co... - Update: 2011-05-05
Output Voltage 1KV-5KV
Output Fall time - Update: 2011-05-05


text:
MILWAUKEE - Sophomore Katie Griswold scored the game-winner in the 17th minute and junior goalkeeper Olivia Walter made 10 saves to make the goal stand in Butler women's soccer's 1-0 win at Milwaukee Sunday afternoon. The win was Butler's first against Milwaukee since 1999.
"We got great leadership from our seniors and our freshmen went out and played hard and almost as if they didn't understand the levity of the game," head coach Tari St. John said. "Cara Burchett was big time and Olivia finished a perfect weekend with 10 saves."
The Bulldogs are now 3-1 in league play, resulting in nine points, and firmly in the thick of the league title chase. Detroit is the league leader with 10 points, while Milwaukee and Cleveland State each have nine.
Griswold's goal was her team-leading seventh of the season. Freshmen Mary Allen and Jackie Hafele assisted on the play. Hafele fired a long throw-in to Allen, who passed to Griswold for the finish.
UWM (7-5-2, 3-1 HL) had a 16-2 shots advantage and put 10 shots on goal. Griswold's goal was the only try on goal for the Bulldogs. Milwaukee's Sarah Hagen, the league's leading scorer, had five shots. Three of them were on goal.
"Being up a goal in the second half against a good team like Milwaukee, we knew we'd need a 'bend but don't break' mentality," St. John said.
Butler (5-9-0, 3-1 HL) will host Loyola Friday, Oct. 15 at the Butler Bowl.