---
layout: post
title: 9/4 progress
date: '2014-09-04T20:26:00.000-06:00'
author: Jacob .
tags:
- progress-reports
modified_time: '2014-09-04T20:26:00.016-06:00'
blogger_id: tag:blogger.com,1999:blog-6400085873105072120.post-4663929523900130711
blogger_orig_url: http://www.svlark.com/2014/09/94-progress.html
---
We had a great lesson with Cap'n Jack today in our home marina. Not yet on our own boat, but we're getting there.
I had a very interesting conversation with Jose the diesel tank guy, as referred from Richard the refitter, as referred from Paul the surveyor. Jose's main recommendation for tracking down my fuel leak is to pour in distilled water with food coloring and see where it comes out. I'll have to give that one a little thought, though I can definitely see the advantages of that over pumping 80 gallons of diesel in to find that leak and the watch my bilge fill up with it.
The tank and the engine mounts are definitely the top priorities at this point.
I guess what we're going to have to do is to re-up for another month in the condo before moving aboard. Hopefully we'll finally have the engine thing resolved by then.


#include <resource.h>
Public Member Functions | |
| Resource () | |
| Default constructor. | |
| ~Resource () | |
| Destructor. | |
| Byte * | GetData () |
| Return pointer to memory resource data buffer. | |
| void | Resize (Int n) |
| Resizes memory resource data buffer. | |
| void | Clear () |
| Clears content of this resource object. | |
| Int | Size () |
| Return size of this memory resource data buffer. | |
| Int | GetPosition () |
| Returns current read/write position. | |
| Int | Skip (Int skip) |
| Move resource read/write position further by specified value. | |
| Int | SetPosition (Int position) |
| Sets resource read/write position. | |
| template<class POD> | |
| Bool | Read (POD *d) |
| Read one POD object from memory resource into specified buffer. | |
| template<class POD> | |
| Bool | Read (POD *d, Int size) |
| Read specified number of POD objects from memory resource data buffer. | |
| Bool | Read (Char *d, Int size) |
| Reads specified number of characters from memory resource to specified buffer. | |
| Bool | Read (Byte *d, Int size) |
| Read specified number number of bytes from memory resource to specified buffer. | |
| Bool | ReadString (string &s) |
| Read string from memory resource to buffer. | |
| Bool | ReadString (Char *s, Int max_len) |
| Read string from memory resource to buffer. | |
| template<class POD> | |
| Bool | Write (const POD *d) |
| Writes POD object to memory resource. | |
| template<class POD> | |
| Bool | Write (const POD *d, Int size) |
| Writes POD objects to memory resource. | |
| Bool | Write (const Char *d, Int size) |
| Writes specified number of symbols to memory resource. | |
| Bool | Write (const Byte *d, Int size) |
| Writes specified number of bytes to memory resource. | |
| Bool | WriteString (const Char *str) |
| Writes string to memory resource. | |
| Bool | WriteString (const string &str) |
| Writes string to memory resource. | |
| Bool | ReadFloat (Float *d) |
| Reads one Float object from memory resource data buffer. | |
| Resource & | operator= (const Resource &src) |
| Assigns to this copy of another Resource object. |
|
|
Clears content of this resource object. Also sets current read/write position to 0. |
|
|
Return pointer to memory resource data buffer. GetData() return pointer to memory resource data buffer. |
|
|
Assigns to this copy of another Resource object.
|
|
|
Read specified number number of bytes from memory resource to specified buffer.
|
|
|
Reads specified number of characters from memory resource to specified buffer.
|
|
|
Read specified number of POD objects from memory resource data buffer.
|
|
|
Read one POD object from memory resource into specified buffer.
|
|
|
Reads one Float object from memory resource data buffer.
|
|
|
Read string from memory resource to buffer. ReadString() read string from memory resource data buffer.
|
|
|
Read string from memory resource to buffer. ReadString() read string from memory resource data buffer.
|
|
|
Resizes memory resource data buffer.
|
|
|
Sets resource read/write position.
|
|
|
Move resource read/write position further by specified value.
|
|
|
Writes specified number of bytes to memory resource.
|
|
|
Writes specified number of symbols to memory resource.
|
|
|
Writes POD objects to memory resource.
|
|
|
Writes POD object to memory resource.
|
|
|
Writes string to memory resource.
|
|
|
Writes string to memory resource.
|


|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
||
|
SITEMAP | FRONT PAGE
| TAIWAN |
| CHINA |
BUSINESS |
ASIA |
INTERNATIONAL |
SPORTS |
EDITORIAL |
COMMENTARY |
ARTS &
LEISURE TRAVEL | HEALTH | MOVIE & TV GUIDE | BOOKS | WEATHER | STUDENT POST  | | TRANSPORTATION | CLASSIFIEDS ABOUT CHINA POST | SUBSCRIBE | CAREER | ADVERTISE | CONTACT US | TERMS AND CONDITIONS | SITEMAP |
||
| Copyright © 1999 – 2007 The China Post. Breaking News, World News, and News from Taiwan. |


SSH-KEYGEN(1) BSD General Commands Manual SSH-KEYGEN(1) NAME ssh-keygen — authentication key generation, management and conversion SYNOPSIS ssh-keygen [-q] [-b bits] -t type [-N new_passphrase] [-C comment] [-f output_keyfile] ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile] ssh-keygen -i [-m key_format] [-f input_keyfile] ssh-keygen -e [-m key_format] [-f input_keyfile] ssh-keygen -y [-f input_keyfile] ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile] ssh-keygen -l [-f input_keyfile] ssh-keygen -B [-f input_keyfile] ssh-keygen -D pkcs11 ssh-keygen -F hostname [-f known_hosts_file] [-l] ssh-keygen -H [-f known_hosts_file] ssh-keygen -R hostname [-f known_hosts_file] ssh-keygen -r hostname [-f input_keyfile] [-g] ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point] ssh-keygen -T output_file -f input_file [-v] [-a num_trials] [-K checkpt] [-W generator] ssh-keygen -s ca_key -I certificate_identity [-h] [-n principals] [-O option] [-V validity_interval] [-z serial_number] file ... ssh-keygen -L [-f input_keyfile] ssh-keygen -A DESCRIPTION ssh-keygen generates, manages and converts authentication keys for ssh(1). ssh-keygen can create RSA keys for use by SSH protocol version 1 and DSA, ECDSA or RSA keys for use by SSH protocol version 2. The type of key to be generated is specified with the -t option. If invoked without any argu‐ ments, ssh-keygen will generate an RSA key for use in SSH protocol 2 con‐ nections. ssh-keygen is also used to generate groups for use in Diffie-Hellman group exchange (DH-GEX). See the MODULI GENERATION section for details. Normally each user wishing to use SSH with public key authentication runs this once to create the authentication key in ~/.ssh/identity, ~/.ssh/id_ecdsa, ~/.ssh/id_dsa or ~/.ssh/id_rsa. Additionally, the system administrator may use this to generate host keys. Normally this program generates the key and asks for a file in which to store the private key. The public key is stored in a file with the same name but “.pub” appended. The program also asks for a passphrase. The passphrase may be empty to indicate no passphrase (host keys must have an empty passphrase), or it may be a string of arbitrary length. A passphrase is similar to a password, except it can be a phrase with a series of words, punctuation, numbers, whitespace, or any string of characters you want. Good passphrases are 10-30 characters long, are not simple sentences or otherwise easily guessable (English prose has only 1-2 bits of entropy per character, and provides very bad passphrases), and contain a mix of upper and lowercase letters, numbers, and non-alphanumeric characters. The passphrase can be changed later by using the -p option. There is no way to recover a lost passphrase. If the passphrase is lost or forgotten, a new key must be generated and the corresponding public key copied to other machines. For RSA1 keys, there is also a comment field in the key file that is only for convenience to the user to help identify the key. The comment can tell what the key is for, or whatever is useful. The comment is initialized to “user@host” when the key is created, but can be changed using the -c option. After a key is generated, instructions below detail where the keys should be placed to be activated. The options are as follows: -A For each of the key types (rsa1, rsa, dsa and ecdsa) for which host keys do not exist, generate the host keys with the default key file path, an empty passphrase, default bits for the key type, and default comment. This is used by system administration scripts to generate new host keys. -a trials Specifies the number of primality tests to perform when screening DH-GEX candidates using the -T command. -B Show the bubblebabble digest of specified private or public key file. -b bits Specifies the number of bits in the key to create. For RSA keys, the minimum size is 768 bits and the default is 2048 bits. Gener‐ ally, 2048 bits is considered sufficient. DSA keys must be exactly 1024 bits as specified by FIPS 186-2. For ECDSA keys, the -b flag determines the key length by selecting from one of three elliptic curve sizes: 256, 384 or 521 bits. Attempting to use bit lengths other than these three values for ECDSA keys will fail. -C comment Provides a new comment. -c Requests changing the comment in the private and public key files. This operation is only supported for RSA1 keys. The program will prompt for the file containing the private keys, for the passphrase if the key has one, and for the new comment. -D pkcs11 Download the RSA public keys provided by the PKCS#11 shared library pkcs11. When used in combination with -s, this option indicates that a CA key resides in a PKCS#11 token (see the CERTIFICATES sec‐ tion for details). -e This option will read a private or public OpenSSH key file and print to stdout the key in one of the formats specified by the -m option. The default export format is “RFC4716”. This option allows exporting OpenSSH keys for use by other programs, including several commercial SSH implementations. -F hostname Search for the specified hostname in a known_hosts file, listing any occurrences found. This option is useful to find hashed host names or addresses and may also be used in conjunction with the -H option to print found keys in a hashed format. -f filename Specifies the filename of the key file. -G output_file Generate candidate primes for DH-GEX. These primes must be screened for safety (using the -T option) before use. -g Use generic DNS format when printing fingerprint resource records using the -r command. -H Hash a known_hosts file. This replaces all hostnames and addresses with hashed representations within the specified file; the original content is moved to a file with a .old suffix. These hashes may be used normally by ssh and sshd, but they do not reveal identifying information should the file's contents be disclosed. This option will not modify existing hashed hostnames and is therefore safe to use on files that mix hashed and non-hashed names. -h When signing a key, create a host certificate instead of a user certificate. Please see the CERTIFICATES section for details. -I certificate_identity Specify the key identity when signing a public key. Please see the CERTIFICATES section for details. -i This option will read an unencrypted private (or public) key file in the format specified by the -m option and print an OpenSSH com‐ patible private (or public) key to stdout. -K checkpt Write the last line processed to the file checkpt while performing DH candidate screening using the -T option. This will be used to skip lines in the input file that have already been processed if the job is restarted. This option allows importing keys from other software, including several commercial SSH implementations. The default import format is “RFC4716”. -L Prints the contents of a certificate. -l Show fingerprint of specified public key file. Private RSA1 keys are also supported. For RSA and DSA keys ssh-keygen tries to find the matching public key file and prints its fingerprint. If com‐ bined with -v, an ASCII art representation of the key is supplied with the fingerprint. -M memory Specify the amount of memory to use (in megabytes) when generating candidate moduli for DH-GEX. -m key_format Specify a key format for the -i (import) or -e (export) conversion options. The supported key formats are: “RFC4716” (RFC 4716/SSH2 public or private key), “PKCS8” (PEM PKCS8 public key) or “PEM” (PEM public key). The default conversion format is “RFC4716”. -N new_passphrase Provides the new passphrase. -n principals Specify one or more principals (user or host names) to be included in a certificate when signing a key. Multiple principals may be specified, separated by commas. Please see the CERTIFICATES sec‐ tion for details. -O option Specify a certificate option when signing a key. This option may be specified multiple times. Please see the CERTIFICATES section for details. The options that are valid for user certificates are: clear Clear all enabled permissions. This is useful for clearing the default set of permissions so permissions may be added individually. force-command=command Forces the execution of command instead of any shell or command specified by the user when the certificate is used for authentication. no-agent-forwarding Disable ssh-agent(1) forwarding (permitted by default). no-port-forwarding Disable port forwarding (permitted by default). no-pty Disable PTY allocation (permitted by default). no-user-rc Disable execution of ~/.ssh/rc by sshd(8) (permitted by default). no-x11-forwarding Disable X11 forwarding (permitted by default). permit-agent-forwarding Allows ssh-agent(1) forwarding. permit-port-forwarding Allows port forwarding. permit-pty Allows PTY allocation. permit-user-rc Allows execution of ~/.ssh/rc by sshd(8). permit-x11-forwarding Allows X11 forwarding. source-address=address_list Restrict the source addresses from which the certificate is considered valid. The address_list is a comma-separated list of one or more address/netmask pairs in CIDR format. At present, no options are valid for host keys. -P passphrase Provides the (old) passphrase. -p Requests changing the passphrase of a private key file instead of creating a new private key. The program will prompt for the file containing the private key, for the old passphrase, and twice for the new passphrase. -q Silence ssh-keygen. -R hostname Removes all keys belonging to hostname from a known_hosts file. This option is useful to delete hashed hosts (see the -H option above). -r hostname Print the SSHFP fingerprint resource record named hostname for the specified public key file. -S start Specify start point (in hex) when generating candidate moduli for DH-GEX. -s ca_key Certify (sign) a public key using the specified CA key. Please see the CERTIFICATES section for details. -T output_file Test DH group exchange candidate primes (generated using the -G option) for safety. -t type Specifies the type of key to create. The possible values are “rsa1” for protocol version 1 and “dsa”, “ecdsa” or “rsa” for pro‐ tocol version 2. -V validity_interval Specify a validity interval when signing a certificate. A validity interval may consist of a single time, indicating that the certifi‐ cate is valid beginning now and expiring at that time, or may con‐ sist of two times separated by a colon to indicate an explicit time interval. The start time may be specified as a date in YYYYMMDD format, a time in YYYYMMDDHHMMSS format or a relative time (to the current time) consisting of a minus sign followed by a relative time in the format described in the TIME FORMATS section of sshd_config(5). The end time may be specified as a YYYYMMDD date, a YYYYMMDDHHMMSS time or a relative time starting with a plus char‐ acter. For example: “+52w1d” (valid from now to 52 weeks and one day from now), “-4w:+4w” (valid from four weeks ago to four weeks from now), “20100101123000:20110101123000” (valid from 12:30 PM, January 1st, 2010 to 12:30 PM, January 1st, 2011), “-1d:20110101” (valid from yesterday to midnight, January 1st, 2011). -v Verbose mode. Causes ssh-keygen to print debugging messages about its progress. This is helpful for debugging moduli generation. Multiple -v options increase the verbosity. The maximum is 3. -W generator Specify desired generator when testing candidate moduli for DH-GEX. -y This option will read a private OpenSSH format file and print an OpenSSH public key to stdout. -z serial_number Specifies a serial number to be embedded in the certificate to dis‐ tinguish this certificate from others from the same CA. The default serial number is zero. MODULI GENERATION ssh-keygen may be used to generate groups for the Diffie-Hellman Group Exchange (DH-GEX) protocol. Generating these groups is a two-step process: first, candidate primes are generated using a fast, but memory intensive process. These candidate primes are then tested for suitability (a CPU- intensive process). Generation of primes is performed using the -G option. The desired length of the primes may be specified by the -b option. For example: # ssh-keygen -G moduli-2048.candidates -b 2048 By default, the search for primes begins at a random point in the desired length range. This may be overridden using the -S option, which specifies a different start point (in hex). Once a set of candidates have been generated, they must be tested for suit‐ ability. This may be performed using the -T option. In this mode ssh-keygen will read candidates from standard input (or a file specified using the -f option). For example: # ssh-keygen -T moduli-2048 -f moduli-2048.candidates By default, each candidate will be subjected to 100 primality tests. This may be overridden using the -a option. The DH generator value will be cho‐ sen automatically for the prime under consideration. If a specific genera‐ tor is desired, it may be requested using the -W option. Valid generator values are 2, 3, and 5. Screened DH groups may be installed in /etc/ssh/moduli. It is important that this file contains moduli of a range of bit lengths and that both ends of a connection share common moduli. CERTIFICATES ssh-keygen supports signing of keys to produce certificates that may be used for user or host authentication. Certificates consist of a public key, some identity information, zero or more principal (user or host) names and a set of options that are signed by a Certification Authority (CA) key. Clients or servers may then trust only the CA key and verify its signature on a certificate rather than trusting many user/host keys. Note that OpenSSH certificates are a different, and much simpler, format to the X.509 certificates used in ssl(8). ssh-keygen supports two types of certificates: user and host. User cer‐ tificates authenticate users to servers, whereas host certificates authen‐ ticate server hosts to users. To generate a user certificate: $ ssh-keygen -s /path/to/ca_key -I key_id /path/to/user_key.pub The resultant certificate will be placed in /path/to/user_key-cert.pub. A host certificate requires the -h option: $ ssh-keygen -s /path/to/ca_key -I key_id -h /path/to/host_key.pub The host certificate will be output to /path/to/host_key-cert.pub. It is possible to sign using a CA key stored in a PKCS#11 token by provid‐ ing the token library using -D and identifying the CA key by providing its public half as an argument to -s: $ ssh-keygen -s ca_key.pub -D libpkcs11.so -I key_id host_key.pub In all cases, key_id is a "key identifier" that is logged by the server when the certificate is used for authentication. Certificates may be limited to be valid for a set of principal (user/host) names. By default, generated certificates are valid for all users or hosts. To generate a certificate for a specified set of principals: $ ssh-keygen -s ca_key -I key_id -n user1,user2 user_key.pub $ ssh-keygen -s ca_key -I key_id -h -n host.domain user_key.pub Additional limitations on the validity and use of user certificates may be specified through certificate options. A certificate option may disable features of the SSH session, may be valid only when presented from particu‐ lar source addresses or may force the use of a specific command. For a list of valid certificate options, see the documentation for the -O option above. Finally, certificates may be defined with a validity lifetime. The -V option allows specification of certificate start and end times. A certifi‐ cate that is presented at a time outside this range will not be considered valid. By default, certificates have a maximum validity interval. For certificates to be used for user or host authentication, the CA public key must be trusted by sshd(8) or ssh(1). Please refer to those manual pages for details. FILES ~/.ssh/identity Contains the protocol version 1 RSA authentication identity of the user. This file should not be readable by anyone but the user. It is possible to specify a passphrase when generating the key; that passphrase will be used to encrypt the private part of this file using 3DES. This file is not automatically accessed by ssh-keygen but it is offered as the default file for the private key. ssh(1) will read this file when a login attempt is made. ~/.ssh/identity.pub Contains the protocol version 1 RSA public key for authentication. The contents of this file should be added to ~/.ssh/authorized_keys on all machines where the user wishes to log in using RSA authenti‐ cation. There is no need to keep the contents of this file secret. ~/.ssh/id_dsa ~/.ssh/id_ecdsa ~/.ssh/id_rsa Contains the protocol version 2 DSA, ECDSA or RSA authentication identity of the user. This file should not be readable by anyone but the user. It is possible to specify a passphrase when generat‐ ing the key; that passphrase will be used to encrypt the private part of this file using 128-bit AES. This file is not automati‐ cally accessed by ssh-keygen but it is offered as the default file for the private key. ssh(1) will read this file when a login attempt is made. ~/.ssh/id_dsa.pub ~/.ssh/id_ecdsa.pub ~/.ssh/id_rsa.pub Contains the protocol version 2 DSA, ECDSA or RSA public key for authentication. The contents of this file should be added to ~/.ssh/authorized_keys on all machines where the user wishes to log in using public key authentication. There is no need to keep the contents of this file secret. /etc/ssh/moduli Contains Diffie-Hellman groups used for DH-GEX. The file format is described in moduli(5). SEE ALSO ssh(1), ssh-add(1), ssh-agent(1), ssh-vulnkey(1), moduli(5), sshd(8) The Secure Shell (SSH) Public Key File Format, RFC 4716, 2006. AUTHORS OpenSSH is a derivative of the original and free ssh 1.2.12 release by Tatu Ylonen. Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos, Theo de Raadt and Dug Song removed many bugs, re-added newer features and created OpenSSH. Markus Friedl contributed the support for SSH protocol versions 1.5 and 2.0. BSD October 8, 2016 BSD


First, try to use the loadDiscoveryDocumentAndLogin
method instead of loadDiscoveryDocumentAndTryLogin
. If you need more control, the following could be interesting for you.
this.oauthService
.loadDiscoveryDocumentAndTryLogin(/* { your LoginOptions }*/) // checks to see if the current url contains id token and access token
.(hasReceivedTokens => {
// this would have stored all the tokens needed
if (hasReceivedTokens) {
// carry on with your app
return Promise.resolve();
/* if you wish to do something when the user receives tokens from the identity server,
* use the event stream or the `onTokenReceived` callback in LoginOptions.
*
* this.oauthService.events(filter(e => e.type === 'token_received')).subscribe()
*/
} else {
// may want to check if you were previously authenticated
if (this.oauthService.hasValidAccessToken() && this.oauthService.hasValidIdToken()) {
return Promise.resolve();
} else {
// to safe guard this from progressing through the calling promise,
// resolve it when it directed to the sign up page
return new Promise(resolve => {
this.oauthService.initLoginFlow();
// example if you are using explicit flow
this.window.addEventListener('unload', () => {
resolve(true);
});
});
}
}
})


Hello There
it's just eileen. i'm a designer and developer of user experiences and interfaces for wordpress websites and products. i'm a partner and founder at sidetrack studio and wpblockshop where take WordPress beyond the blog creating block-based solutions.
itsjusteileen ❘
beyond pretty
Design is concerned with how things work, how they are controlled, and the nature of the interaction between people and technology.
I like to say, design solves problems.
“Good design is actually a lot harder to notice than poor design, in part because good design fits our needs so well that the design is invisible, serving us without drawing attention to itself. Bad design, on the other hand, screams out its inadequacies, making itself very noticeable.”
Don Norman, The Design of Everyday Things
TL:DR
Good design gets out of the way
These five principles can help us move our WordPress products #beyondpretty.
hick's law states
The time it takes for a person to make a decision depends on the choices available.
hick's law states
As the number of choices increases, the time to make a decision also increases.
Execution
Categorizing choices
Limit choices
zeigarnik effect states
People remember uncompleted or interrupted tasks better than completed tasks.
Execution
Use progress bars for complex tasks to visually indicate when a task is incomplete, and thus increase the likelihood it will be completed.
gestalt principles
Describe how humans typically see objects by grouping similar elements, recognizing patterns and simplifying complex images.
Similarity
Symmetry
Proximity
Common Region
Peridoctiy
serial position effect states
Users have a propensity to best remember the first and last items in a series.
Execution
Include Cues in the User Interface
Maintain Task-relevant Information within the User Interface
Emphasize Key Information in the Beginning and End
Limit the Amount of Recall Required
miller's law states
The average person can only keep 7 (plus or minus 2) items in their working memory.
execution
Break down large bands of information into manageable bites.


BillG Comments on my ThinkWeek Paper
Here. Not only did I get comments back on my ThinkWeek paper, but they were all positive (although understandably brief). Here're the parts that don't give away what I proposed:
"Good scenario here. ... We should keep pushing on this."
I don't know what this means in terms of something actually happening, but I certainly got the only good result I had envisioned. : )


--- layout: post esbma_id: 1100 title: Software Legends, Where Are You? date: 2004-12-17 15:19:00 ---
NotALegend.com is a parody of an advertising campaign Microsoft did during early 2003. The original site was at www.software.legends.com, but now it's gone.
The WaybackMachine at archive.org has copies of the Software Legends site, but unfortunately a lot of the images are missing.
I'd love to get a complete copy of the original site. If you have one, please let me know. My parody just isn't quite as funny now that you can't see the object of the joke. :-)


|
Just
For
(Nickelback) |
|
I
want to take his eyes out
Just for looking at you Yes I do And I want to take his hands off Just for touching you Yes I do And I want to rip his heart out Just for hurting you And I want to break his mind down Yes I do, yes I do, yes I do And I want to make him regret Life since the day he met you Yes I do And I want to make him take back All that he took from you Yes I do And I want to rip his heart out Just for hurting you And I want to break his mind down Yes I do, yes I do, yes I do, yes I do, yes I do And I want to rip his heart out Just for hurting you And I want to break his mind down Yes I do, yes I do, yes I do, yes I do |


- cacheAgeLimitInSeconds - Variable in class com.spotify.sdk.android.player.Config
-
The maximum age for any individual file stored in the cache.
- cachePath - Variable in class com.spotify.sdk.android.player.Config
-
The location where cached files will be stored.
- cacheSizeLimitInMegabytes - Variable in class com.spotify.sdk.android.player.Config
-
The maximum size allowed for all files stored in the cache.
- clear() - Method in class com.spotify.sdk.android.player.AudioRingBuffer
-
Removes all items from the buffer.
- clientId - Variable in class com.spotify.sdk.android.player.Config
-
A client ID that the app is using.
- com.spotify.sdk.android.player - package com.spotify.sdk.android.player
-
Contains classes used for playing music.
- COMPUTER - Static variable in class com.spotify.sdk.android.player.Config.DeviceType
-
Laptop or desktop computer
- Config - Class in com.spotify.sdk.android.player
-
Class used to pass configuration parameters to the native SDK layer for initialization.
- Config(Context, String, String) - Constructor for class com.spotify.sdk.android.player.Config
-
Create a new Config object used for initializing the global
SpotifyPlayer
instance.
- Config(Context, String, String, Config.DeviceType) - Constructor for class com.spotify.sdk.android.player.Config
-
Create a new Config object used for initializing the global
SpotifyPlayer
instance.
- Config.DeviceType - Class in com.spotify.sdk.android.player
-
The SDK represents device types as raw integers, but rather than dealing with an
enum an abstract class is used, as we are missing some intermediate values and
require a bit more granularity here than an enum can offer.
- ConnectionStateCallback - Interface in com.spotify.sdk.android.player
-
Callback used to deliver information about connection state events.
- Connectivity - Class in com.spotify.sdk.android.player
-
Class used for sending connectivity messages to the SDK.
- Connectivity() - Constructor for class com.spotify.sdk.android.player.Connectivity
-
- contextName - Variable in class com.spotify.sdk.android.player.Metadata
-
- contextUri - Variable in class com.spotify.sdk.android.player.Metadata
-
- create(Config) - Static method in class com.spotify.sdk.android.player.SpotifyPlayer
-
Create a new player instance.
- create(Config, SpotifyPlayer.InitializationObserver) - Static method in class com.spotify.sdk.android.player.SpotifyPlayer
-
Create a new player instance with initialization observer.
- CREATOR - Static variable in class com.spotify.sdk.android.player.Metadata
-
- CREATOR - Static variable in class com.spotify.sdk.android.player.Metadata.Track
-
- CREATOR - Static variable in class com.spotify.sdk.android.player.PlaybackState
-
- currentTrack - Variable in class com.spotify.sdk.android.player.Metadata
-
- seekToPosition(Player.OperationCallback, int) - Method in interface com.spotify.sdk.android.player.Player
-
Skips currently playing song to defined position.
- seekToPosition(Player.OperationCallback, int) - Method in class com.spotify.sdk.android.player.SpotifyPlayer
-
Jump to a given position in the current track.
- setAudioController(AudioController) - Method in class com.spotify.sdk.android.player.SpotifyPlayer.Builder
-
- setCallbackHandler(Handler) - Method in class com.spotify.sdk.android.player.SpotifyPlayer.Builder
-
Sets a custom callback handler that will be used to post all callbacks received
by the player.
- setConnectivityStatus(Player.OperationCallback, Connectivity) - Method in interface com.spotify.sdk.android.player.Player
-
Sends the information about current connectivity
to native player.
- setConnectivityStatus(Player.OperationCallback, Connectivity) - Method in class com.spotify.sdk.android.player.SpotifyPlayer
-
The native SDK needs to be told what the current connection state is in order to determine
ideal connection settings to Spotify's servers.
- setPlaybackBitrate(Player.OperationCallback, PlaybackBitrate) - Method in interface com.spotify.sdk.android.player.Player
-
Set the bitrate of the player to specified value.
- setPlaybackBitrate(Player.OperationCallback, PlaybackBitrate) - Method in class com.spotify.sdk.android.player.SpotifyPlayer
-
Set the bitrate of the player to specified value.
- setRepeat(Player.OperationCallback, boolean) - Method in interface com.spotify.sdk.android.player.Player
-
Turns repeating on and off.
- setRepeat(Player.OperationCallback, boolean) - Method in class com.spotify.sdk.android.player.SpotifyPlayer
-
Enable or disable repeat.
- setShuffle(Player.OperationCallback, boolean) - Method in interface com.spotify.sdk.android.player.Player
-
Turns shuffling on and off.
- setShuffle(Player.OperationCallback, boolean) - Method in class com.spotify.sdk.android.player.SpotifyPlayer
-
Enable or disable shuffling.
- shouldUseCache() - Method in class com.spotify.sdk.android.player.Config
-
Check if disk cache is turned on.
- shutdown() - Method in class com.spotify.sdk.android.player.SpotifyPlayer
-
- skipToNext(Player.OperationCallback) - Method in interface com.spotify.sdk.android.player.Player
-
Skips to next track.
- skipToNext(Player.OperationCallback) - Method in class com.spotify.sdk.android.player.SpotifyPlayer
-
Skip to the next track in the play queue.
- skipToPrevious(Player.OperationCallback) - Method in interface com.spotify.sdk.android.player.Player
-
Skips to previous track.
- skipToPrevious(Player.OperationCallback) - Method in class com.spotify.sdk.android.player.SpotifyPlayer
-
Skip to the previous track in the play queue.
- SMARTPHONE - Static variable in class com.spotify.sdk.android.player.Config.DeviceType
-
Smartphone device
- SPEAKER - Static variable in class com.spotify.sdk.android.player.Config.DeviceType
-
Device type for a Spotify Connect enabled speaker
- Spotify - Class in com.spotify.sdk.android.player
-
The main "entry point" to the Spotify Android SDK.
- SpotifyPlayer - Class in com.spotify.sdk.android.player
-
Basics
- SpotifyPlayer.Builder - Class in com.spotify.sdk.android.player
-
Builder that can be used to create a customized instance of the
SpotifyPlayer
.
- SpotifyPlayer.InitializationObserver - Interface in com.spotify.sdk.android.player
-
Observer interface used to know when the player is fully initialized.
- start() - Method in interface com.spotify.sdk.android.player.AudioController
-
- STB - Static variable in class com.spotify.sdk.android.player.Config.DeviceType
-
Device type for a set-top box
- stop() - Method in interface com.spotify.sdk.android.player.AudioController
-


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object jMath.linalg.Array1D
public class Array1D
A class of static methods implementing operations on 1-dimensional arrays Intentionally mimics many of the naming conventions of MATLAB.
| Constructor Summary | |
|---|---|
Array1D()
|
| Method Summary | |
|---|---|
static double[] |
abs(double[] x)
takes absolute value of a vector |
static double[] |
add(double[]... vectors)
adds an arbitrary number of vectors together |
static double[] |
add(double[] x,
double alpha)
add a constant to every entry in the vector |
static double[] |
add(double[] x,
double[] y)
add two vectors |
static double[] |
add(double alpha,
double[] x)
add a constant to every entry in the vector |
static boolean |
any(boolean[] x)
are any of the elements of x true? |
static double[] |
average(double[]... vectors)
Computes the elementwise average of a set of vectors |
static double[] |
colon(double a,
double b)
Creates a vector mimicking Matlab's colon operation a:b |
static double[] |
colon(double a,
double ds,
double b)
Creates an vector mimicking Matlab's colon operation a:ds:b (does not necessarily end on b. |
static double[] |
concat(double[]... vlist)
concatenate vectors into one larger one [v1 v2 .... |
static double[] |
constant(double alpha,
int n)
Creates a constant vector with value alpha of length n |
static double[] |
copy(double[] x)
Create a copy of the vector |
static double[] |
cos(double[] x)
cos(x) |
static double[] |
cross(double[] x,
double[] y)
computes cross product of two 3 dimensional vectors |
static double[] |
cumsum(double[] x)
cumulative sum of elements in x |
static double[] |
deriv(double[] x,
double[] y)
numerical derivative of y w.r.t x using central difference except at end points. |
static double[] |
divide(double[] x,
double alpha)
divide a vector by a constant |
static double[] |
divide(double alpha,
double[] x)
divide a constant by a vector |
static double |
dot(double[] x,
double[] y)
returns dot product of two vectors |
static double[] |
dotDivide(double[] x,
double[] y)
element by element division of two vectors |
static double[] |
dotMultiply(double[] x,
double[] y)
element by element multiplication of two vectors |
static double[] |
eval(Function1Var func,
double[] x)
Elementwise application of an arbitrary 1D function |
static int |
find(double[] x,
double xi)
Checks to see if element xi is in the vector x. |
static int[] |
find(double[] x,
double[] xi)
Checks to see if the elements of xi are in vector x. |
static double[] |
flip(double[] x)
flip a vector around |
static double |
includedAngle(double[] x,
double[] y)
Compute include angle between two vectors in radians |
static double |
interp1(double[] x,
double[] y,
double xi)
1d linear interpolation to find yi, the approximate value of y(x) at xi. |
static double[] |
interp1(double[] x,
double[] y,
double[] xi)
1d linear interpolation to approximate y(x) at all of the entries in xi. |
static boolean[] |
isEqualTo(double[] x,
double alpha)
computes whether element x[i] == alpha |
static double[] |
linspace(double x1,
double x2,
int n)
Creates a linearly spaced vector |
static double[] |
logspace(double x1,
double x2,
int n)
a logarithmically spaced vector |
static double |
max(double... x)
get maximum value in vector |
static double |
mean(double[] x)
computes mean of the vector |
static double |
min(double... x)
find minimum value in vector accepts comma separated doubles, or an array |
static double[] |
multiply(double[] x,
double alpha)
multiply a vector by a constant |
static double[] |
multiply(double alpha,
double[] x)
multiply a vector by a constant |
static double[] |
negative(double[] x)
Change sign of vector |
static double |
norm(double[] x,
double p)
Vector norm |
static double[] |
pow(double[] x,
double exp)
computes powers of vectors elementwise |
static double[] |
project(double[] x,
double[] y)
projection of x onto y. |
static double[] |
rand(int n)
Generates a random vector of size n |
static void |
setSub(double[] y,
double[] x,
int iStart)
Set a part of the vector y starting at iStart to x |
static void |
setSub(double[] y,
double[] x,
int[] e)
Set a part of the vector y(e(:)) = x |
static double[] |
sin(double[] x)
sin(x) |
static double[] |
sort(double[] x)
sort vector in ascending order |
static double[] |
sqrt(double[] x)
elementwise square root of a vector |
static double[] |
sub(double[] x,
int[] e)
Get a sub-vector |
static double[] |
sub(double[] x,
int iStart,
int iEnd)
Get a sub-vector |
static double[] |
subtract(double[] x,
double alpha)
subtract a constant from every entry in the vector |
static double[] |
subtract(double[] x,
double[] y)
subtract two vectors |
static double[] |
subtract(double alpha,
double[] x)
subtract a vector from a constant |
static double |
sum(double[] x)
vector sum |
static double[] |
tan(double[] x)
tan(x) |
static double |
trapz(double[] x,
double[] y)
numerical integration of y w.r.t x using trapezoidal method. |
static double[] |
unique(double[] x)
removes duplicate elements from x, preserves order |
static double[] |
unit(double[] x)
returns a unit vector from x |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public Array1D()
| Method Detail |
|---|
public static double[] constant(double alpha, int n)
alpha
- n
-
public static double[] linspace(double x1, double x2, int n)
x1
- starting valuex2
- ending valuen
- number of points
public static double[] logspace(double x1, double x2, int n)
x1
- starting valuex2
- ending valuen
- number of points
public static double[] colon(double a, double ds, double b)
linspace
if you want it to end exactly at b)
a
- ds
- b
- public static double[] colon(double a, double b)
a
- b
- public static double[] rand(int n)
n
- length of vector
public static double[] copy(double[] x)
x
-
public static double[] sub(double[] x, int iStart, int iEnd)
x
- original vectoriStart
- Starting indexiEnd
- Ending index
java.lang.ArrayIndexOutOfBoundsException
public static double[] sub(double[] x, int[] e)
e
- array of elements of vector to extract
java.lang.ArrayIndexOutOfBoundsException
public static void setSub(double[] y, double[] x, int iStart)
y
- iStart
- starting indexx
- public static void setSub(double[] y, double[] x, int[] e)
y
- e
- indices of y to set subVector x intox
- public static double[] concat(double[]... vlist)
vlist
-
public static double norm(double[] x, double p)
public static double[] sort(double[] x)
x
-
public static double max(double... x)
x
-
public static double min(double... x)
x
-
public static double[] negative(double[] x)
x
-
public static double[] add(double[] x, double alpha)
x
- alpha
- constant
public static double[] add(double alpha, double[] x)
alpha
- constantx
-
public static double[] add(double[] x, double[] y) throws java.lang.IllegalArgumentException
x
- y
-
java.lang.IllegalArgumentException
public static double[] add(double[]... vectors)
v
-
public static double[] subtract(double[] x, double alpha)
x
- alpha
- constant
public static double[] subtract(double alpha, double[] x)
alpha
- constantx
-
public static double[] subtract(double[] x, double[] y) throws java.lang.IllegalArgumentException
x
- y
-
java.lang.IllegalArgumentException
public static double[] multiply(double alpha, double[] x)
alpha
- constantx
-
public static double[] multiply(double[] x, double alpha)
x
- alpha
- constant
public static double[] dotMultiply(double[] x, double[] y) throws java.lang.IllegalArgumentException
x
- y
-
java.lang.IllegalArgumentException
public static double[] divide(double[] x, double alpha)
alpha
- constantx
-
public static double[] divide(double alpha, double[] x)
alpha
- constantx
-
public static double[] dotDivide(double[] x, double[] y) throws java.lang.IllegalArgumentException
x
- y
-
java.lang.IllegalArgumentException
public static double[] pow(double[] x, double exp)
x
- exp
-
public static double[] sqrt(double[] x)
x
-
public static double[] eval(Function1Var func, double[] x)
func
- x
-
public static double dot(double[] x, double[] y)
x
- y
-
public static double[] cross(double[] x, double[] y) throws java.lang.IllegalArgumentException
x
- 1st vectory
- 2nd vector
java.lang.IllegalArgumentException
public static double sum(double[] x)
x
-
public static double[] cumsum(double[] x)
x
-
public static double[] abs(double[] x)
x
-
public static double trapz(double[] x, double[] y) throws java.lang.IllegalArgumentException
x
- y
-
java.lang.IllegalArgumentException
public static double[] deriv(double[] x, double[] y) throws java.lang.IllegalArgumentException
x
- y
-
java.lang.IllegalArgumentException
public static double[] flip(double[] x)
x
-
public static double interp1(double[] x, double[] y, double xi)
x
- y
- xi
-
public static double[] interp1(double[] x, double[] y, double[] xi) throws java.lang.IllegalArgumentException
x
- y
- xi
-
java.lang.IllegalArgumentException
public static int find(double[] x, double xi)
x
- xi
-
public static int[] find(double[] x, double[] xi)
x
- xi
-
public static double[] project(double[] x, double[] y)
x
- y
-
public static double[] unit(double[] x)
x
-
public static double includedAngle(double[] x, double[] y)
a
- b
-
public static double[] unique(double[] x)
x
-
public static double mean(double[] x)
x
-
public static double[] average(double[]... vectors)
vectors
-
public static boolean[] isEqualTo(double[] x, double alpha)
alpha
-
public static boolean any(boolean[] x)
x
-
public static double[] sin(double[] x)
x
-
public static double[] cos(double[] x)
x
-
public static double[] tan(double[] x)
x
-
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


CarrierWave and S3
CarrierWave is a gem that adds a fairly simple and flexible way to users to upload files to our Rails application. It also lets us resize images to make thumbnails and other sizes as we need them, and lets us upload all these uploaded (and generated) files to cloud storage products, such as S3.
How-to
Make an S3 bucket
S3 — Simple Storage Service “buckets” are like folders
Let’s start with a new Rails app
1 2 3 4 |
|
Setup CarrierWave and Fog Gems
Fog is a gem that helps us work with cloud services like those from Amazon – EC2 or S3 – as well as cloud offerings from other companies (like Microsoft, Rackspace, Blue Box, etc).
1 2 3 |
|
Might as well set up Figaro now, too.
1
|
|
Add An Uploader
Now you need a uploader. This is the file which has all the settings like which folder the image will be saved, setting the image quality, caching etc.
1
|
|
The generator creates a new directory called uploaders
under the app
directory and in it a file called image_uploader.rb
. In this file are a number of comments explaining how to customize the uploader. For example there is code to change the upload location, perform processing on the image after uploading and to restrict the type of files that can be uploaded. You should take a look at these options on your own, but for demonstration purposes we’re going to get rid of most of it in favor of this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Next we’ll need to add the uploader to the Band
model. We’ll need a column in the bands table to store it in so we’ll generate a migration to do add it.
1 2 |
|
Then, we mount the uploader on the Band
model.
1 2 3 |
|
Add a file_field
to the Band form.
app/views/bands/_form.html.erb
1 2 3 4 |
|
We add :image
to the strong params for the controller.
app/controllers/bands_controller.rb
1 2 3 |
|
Finally, we modify the scaffolded form and show pages to include a form element for the image upload, and modify the form_for
to add an :html
option.
apps/views/bands/show.html.erb
1 2 3 |
|
Now we can upload images – yay! In your terminal, take a look at public/uploads
– mini_magick
and carrierwave
made all those files for us! We have access to these different sizes by passing the symbol of the size (as defined in our uploader model) to #image_url
app/views/bands/show.html.erb
1 2 3 |
|
Uploading to S3
This is cool, but we want to save to S3 instead of the local file system. This is pretty easy. First, we need to tell CarrierWave that we want to use S3. Make a new initializer, config/initializers/carrierwave.rb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
We also need to fill out our config/application.yml
file. We can get the secret information from the Security Credentials screen in the AWS dashboard – I won’t go into how to fetch this information here, as its likely to change from time to time.
Resources
Railscasts #253 CarrierWave File Uploads
Railscasts #383 Uploading to Amazon S3


Services & Resources
Services
Services represent collections of network accessible entry points in Ballerina. A service is bound to particular network protocols using annotations.
A service
is defined as follows:
[ServiceAnnotations]
service ServiceName {
VariableDeclaration;*
ResourceDefinition;+
}
Services are singletons. As such all variables defined within a service scope are shared across all resource
invocations. These variables come into existence when the service is first loaded into the system and as such no assumptions can be made about exactly when that may occur.
Service annotations are used to bind the service to a network protocol. Such bindings are sometimes referred to as 'Server Connectors'. In version 0.8, the following network protocols are supported: - HTTP/1.1 - HTTP/2.0 (partially) - WebSockets (partially) - JMS - Polling via FTP/FTPS/SFTP
All of these are defined using the @Source
annotations. Details of the attributes that are available for each protocol are given in the documentation for that server connector. NOTE: After v0.8.0 this annotation architecture will be revisited as this is a magic annotation and hence it is not clean.
By default Ballerina assumes that the service is to be exposed via HTTP/1.1 using the system default port and that all requests coming to the HTTP server will be delivered to this service.
Resources
Resources represent a single network accessible entry point in Ballerina. Exactly how the resource is exposed over a network protocol is dependent on the server connector in use for the service as well as on annotations that are given for the specific resource. All resources are invoked with an argument of type message
, the built-in reference type representing a network invocation. Depending on the network protocol, additional annotations may be used to map other request information and bind them to additional parameters. Each server connector will provide a set of utility functions to access information from the required message
argument.
A resource
is defined as follows:
[ResourceAnnotations]
[native] resource ResourceName (message VariableName[, ([ResourceParamAnnotations] TypeName VariableName)+]) {
WorkerDeclaration;*
Statement;+
}*
The native
keyword says that the resource's implementation is not in Ballerina. In that case the body of the resource is not given as it is opaque.
If the enclosing service is using the default HTTP/1.1 server connector then Ballerina assumes that HTTP requests for GET to the path represented by the name of the resource will be processed by this resource.
Example
TO BE WRITTEN. See samples for now.


This is what I started out with. I was going to have to figure how to fit all of this (along with speakers, a display, display drivers, and other miscellaneous hardware) into a form factor somewhat resembling a tablet.
The Wii aboutmecover in all its glory. At this point, I had more questions than I had answers: How am I going to cool this thing? And how am I going to manage to get this thing as small as possible?
I had to omit the disk drive due to it producing too much heat and drawing too much power. Unfortunately, the Wii always checks for the disk drive when it starts up, so I had to leave the disk drive board on. Here, you can also see many ports removed and sliced in half since they were too tall.
The heat sink on the Wii is rather tall, and frankly overkill for the processers it uses. I guess this is why it was such a reliable console. Anyways, using a vice and some pliers, I flattened it down.
After many modifications, I had to test it out to make sure I hadn't damaged anything. Turns out, it works! This was also a good time to test out the TV I was going to use. (fun fact, this TV was originally used in a prison, that's why it's transparent)
After disassembling the TV and gutting it for parts, I realized that I should probably find a way to keep these controls. That's one more thing I'm going to have to fit in.
In order to retain the Wii remote's pointing functionality, I would have to fit the sensor bar in too. The bar actually doesn't "sense" anything, it's just some infrared lights that the Wii remote reads using an infrared camera at the tip.
Testing all of the electronics in their most barebones configurations. Here we have the video, audio, Wii power, display power, the display driver, display controls, and the sensor bar all hooked up.
After getting some other miscellaneous electronics functions done (wiring everything together, adding fans, a video output and switcher, and a power/pairing button) it was time to decide on a layout. This is what I came up with.
Finally, it was time to design a casing. This CAD model shows the main construction philosophy: 6 pieces on the edge holding everything together like a sandwich. The display and some acylic act as the bread, and the electronics would be like the meat.
The most complicated of the 6 pieces needed to build the casing. You can see holes for the fans, video output, video switch, power, and USB ports. In the background, you see all the electronics eagerly waiting for the casing to be done.
The finished product after lots of trial and error, failure after failure, and a total of about 60$ in materials. Having something go from a far-fetched idea to a tangible product is a great feeling and is why engineering is awesome. (Cheesy statement over)
Remember how my goal was to get the Wii no more than 1.5 inches thick? It actually ended up being about 1.2 inches thick. The original wii is 1.73 inches thick, so I managed to cut the thickness down by a little over 30%.


EYES WIDE SHUT A film review by Mark R. Leeper
Capsule: What starts as an exploration of sexual mores takes a turn for the bizarre, then becomes a paranoia suspense thriller with an unexpected nod to 18th century European history. This film is probably not as erotic as people might be expecting, nor is it a deep self-contemplative piece, but it still is a surprisingly rewarding film. Rating: 7 (0 to 10), low +2 (-4 to +4). SPOILER WARNING: Following the review (and a spoiler warning) I have a historical note relevant to the plot of this film.
The way to become rich in the American entertainment industry is to give the public what it wants. Evidently what the public wants is to see Nicole Kidman nude. Last season Broadway offered NICOLE KIDMAN NUDE: THE PLAY, officially titled THE BLUE ROOM. The draw of this play was apparently from all the publicity that one got with the price of a ticket a quick look at Nicole Kidman starkers.
But most of the country could not get to Broadway to see this theatrical indelicacy. Now no less a filmmaker than the late Stanley Kubrick brings to the screen NICOLE KIDMAN NUDE: THE MOTION PICTURE, officially titles EYES WIDE SHUT. The film is not based on THE BLUE ROOM--it just happens to be another story about sexual mores. Kubrick himself is no stranger to the act of bringing heavenly bodies to the motion picture screen. But I do not remember another film that has so titillated the audience into wanting to see the body of a major character since GODZILLA. And in fact, Kidman does show off her body so frequently and so gratuitously in the early part of this film we can only conclude that she has decided she likes doing it. The irony is that her character's nudity and even her sexuality is only tangential to the main line of the plot. Most of the scenes of nudity, the first one being a good 60 seconds into the film, are added totally gratuitously.
As the film opens successful young physician William Harford (Tom Cruise) and his wife Alice (his wife Kidman), a stylish and wealthy New York couple, are preparing to go out for the evening. They are going to a Christmas party at the palatial home of the well-connected Victor Ziegler (Sydney Pollack). When they get to the party both Harfords find themselves being seduced by other guests. William is set upon by two young models, Alice by a somewhat older Hungarian Lothario (Sky Dumont) who quotes Oscar Wilde as if the wit was his own. The Harfords each resist, but the tension later causes a rift in their marriage that has them each questioning their relationship. But that disagreement is only the background for the central action, a bizarre chain of incidents sparked by a chance meeting at the party.
That evening the Harfords have a sort of sophomoric argument on sexuality that does little more than show that both William and Alice are each in their own ways naive about sex. Kubrick allows the argument, and much that follows it, to go on way too long. With 2001: A SPACE ODYSSEY Kubrick started pacing his film more slowly. Going counter to the trend of films moving faster, Kubrick has made the pacing of his films more deliberate and occasionally more textured. In this pacing some points get really belabored. A few of his sequences seem to go on much too long and his storytelling is characterized by foot-dragging.
EYES WIDE SHUT is not in all ways a well-directed film in spite of the Kubrick name. Cruise's acting style seems limited to facial expression. There is little emotional impact in his performance. Kidman goes through a wider emotional range more believably, but still there is nothing impressive done here. Ironically Spartacus and Varinia in SPARTACUS make a more compelling couple than William and Alice played by an actual husband and wife in EYES WIDE SHUT. Stanley Kubrick's final film surprises the viewer with an engaging thriller plot involving a sinister forces having their roots in history. There are some surprising problems with the film but it is not without its moments of delight. I rate it a 7 on the 0 to 10 scale and a low +2 on the -4 to +4 scale.
Spoiler... Spoiler... Spoiler... Spoiler...
The society that we see portrayed in this film is almost certainly based on one that did exist, though the original probably died out in the middle 18th century. The original is popularly called the Hellfire Club (though members called themselves "The Monks of Medmenham") and it was for a time an important force in European, and particularly British, politics. Like the society that Kubrick shows us here it was a secret society; even most members may not have known who the other members were. The secret society combined satanic mysticism--either real or feigned, probably some of both--and orgies.
The founder and leader of the secret society was Sir Francis Dashwood, an influential Member of Parliament and eventually Chancellor of the Exchequer. It is not known with any sureness who else was a "monk." One person who it is strongly rumored was a member or perhaps only an honorary member but a repeated guest was Benjamin Franklin. The Earl of Sandwich was certainly also a member. (As an aside, if his name sounds a little funny the latter was not surprisingly also an avid gambler. His unwillingness to leave the gaming table to eat caused him to invent a food concoction more portable than a plate of food. He would grasp a piece of meat in the hand between two slices of bread. And that's the origin of the "sandwich" and of its name.)
Other members of the Hellfire Club included painter William Hogarth and politician John Wilkes. The club met and had their orgies and their strange ceremonies at Medmenham Abbey. Meeting at the chapel of the abbey and at the West Wycombe caves near the Dashwood estate, the club held strange ceremonies and orgies very much like the ones we saw in the film. For more information, read http://www.blather.net/archives3/issue3no1.html.
Mark R. Leeper<EMAIL_ADDRESS>Copyright 1999 Mark R. Leeper
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


|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.github.fedorchuck.developers_notification.antispam.SpamProtection
public class SpamProtection
Class contains connection between mechanism witch avoiding spam and mechanism sending messages.
Author: Volodymyr Fedorchuk
| Constructor Summary | |
|---|---|
SpamProtection()
|
| Method Summary | |
|---|---|
static void |
sendIntoMessenger(boolean protectionFromSpam,
MessageTypes types,
Task task)
It provide sending messages to chosen destination. |
void |
sendLogEventIntoMessenger(boolean protectionFromSpam,
org.apache.log4j.spi.LoggingEvent event)
It provide sending messages into messengers. |
static void |
sendMonitoringResultsIntoMessenger(boolean protectionFromSpam,
MessageTypes types,
java.lang.String description)
It provide sending messages into messengers. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SpamProtection()
| Method Detail |
|---|
public static void sendMonitoringResultsIntoMessenger(boolean protectionFromSpam, MessageTypes types, java.lang.String description)
Note: all needed data will be getting from JSON configuration
protectionFromSpam
- is needed protection from spamdescription
- what happenedpublic void sendLogEventIntoMessenger(boolean protectionFromSpam, org.apache.log4j.spi.LoggingEvent event)
Note: all needed data will be getting from JSON configuration
protectionFromSpam
- is needed protection from spamevent
- what happenedpublic static void sendIntoMessenger(boolean protectionFromSpam, MessageTypes types, Task task)
protectionFromSpam
- is needed protection from spamtypes
- of messagetask
- to compete
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


User profile estimate*
This page measures your browsers performance to aid the user testing stage.
CPU
Time: seconds
Speed: GHZ
Machine
Browser:
Platform:
Vendor:
ProductSub:
userAgent:
Internet
Latency: --- checking ---
Based on a 10MB image download.


Nervous System and Mental Health
Anxiety
Disturbances of Mood/Depressive Disorders
Which of the following matches the definition: response to severe emotional stress resulting in voluntary disturbance of physical functions?
Answer: Conversion disorder (functional neurological disorder) or somatic symptom disorder are both somatoform disorders or somatic system and related disorders. Conversion disorder is the unconscious and nonvolitionary development of neurologic symptoms or deficits, generally motor or sensory functions, incompatible with known pathophysiologic mechanisms or anatomic pathways. Somatic symptom disorder is characterized by multiple persistent physical complaints associated with excessive and maladaptive thoughts, feelings, and behaviors related to those symptoms. Depressive reaction is situational depression. Bipolar disorder is characterized by periods of extreme mood shifts lasting weeks or months. Alzheimer's disease is a generalized degeneration of the brain, causing premature senility.
Cognitive Disturbances
Disturbances of Behavior and Perception
The major difference between psychoanalytical theories of human development and behavioral theories is that:
Answer: D - Psychoanalytic and behavioral theories differ over the way in which they are processed. Psychoanalyticists rely on personal story and introspection, while behavioralists rely on direct observation.
Which of the following matches the definition: covering up a weakness by stressing a desirable or stronger trait?
Answer: Compensation is defined as covering up a weakness by stressing a desirable or stronger trait.
Projection is the ego defends itself against unconscious impulses or qualities by attributing them to others instead of the self (blame shifting).
Rationalization is the action of attempting to explain or justify behavior or an attitude with logical reasons, even if these are not appropriate, to avoid the true explanation and made tolerable by plausible means.
Dysphoria is defined as a generalized sense of unease.
Life Adjustment and Stressors
Disturbances of the Special Senses
Which photoreceptor cells are responsible for color vision and help create very sharp images?
Answer: Cones are the photoreceptor cells responsible for color vision and sharp images. Rods detect lightning, while rhodopsin is a photosensitive molecule within rods that respond to light.
Headache
Speech and Language Disturbances
Movement Disturbances
Seizures
Sensory Disturbances and Pain
Psychotropic medications can cause destabilization of thermoregulation due to:
Answer: Primary mental health chemical imbalances or treatment with psychotropic medication can alter calcium levels of the brain, which stimulate the hypothalamus and thus thermoregulation.
Sleep Disturbances
Which of the following waveforms is most commonly found with light sleepers?
Answer: Beta waves are typically found in awake, conscious individuals. Alpha waves are typically found in light, NREM sleep. Theta waves are found in Stage 2 NREM sleep, along with sleep spindles and K-complexes. Delta waves are found in stage 3 and 4 NREM.
REM sleep cycles occur approximately every
Answer: Sleep cycles typically last 90-120 minutes.
Substance Abuse
Nervous System Trauma
Disorders of the nervous system resulting from a tumor in a different area of the body are known as:
Answer: Some tumors cause an autoantibody immune response. These antibodies often not only attack the tumor, but also attack a portion of the nervous system not related to the tumor. These conditions are known as paraneoplastic syndrome and may be distant or apparently unrelated to the tumor site.
Weakness and Paralysis
Which autoimmune condition is characterized by the body producing autoantibodies that attack muscle receptor sites, reducing the ability to receive neurotransmitter signals to move properly, thus causing weakness?
Answer: MG is caused by the body producing autoantibodies against ACh receptors, causing inappropriate lack of response to stimulation. Muscular dystrophy is caused by a genetic deficiency of dystrophin, a major muscle component. Muscular degenerative disorder is a symptom-based category.
Physical Exam Findings Related to the Nervous System and Mental Health
You are caring for an adult patient who is suspected to have upper neuronal damage. Which provocation do you perform?
Answer: A patient who has upper neuronal damage will demonstrate a positive Babinski sign, where the big toe extends and the rest of the toes fan out when the sole is stroked. A negative Babinski sign, normal in patients above 2 years of age, causes all toes to curl inward.
A patient with cerebellar dysfunction may exhibit dysmetria, a lack of coordination, in the finger-to-nose test. Romberg's test is positive when a standing patient demonstrates imbalance when the eyes are closed and demonstrates sensory ataxia.
The Jendrassik maneuver, where the patient clenches their teeth, and interlocks flexed fingers, is used in combination with patellar reflex testing to elicit a stronger reaction from muscle tension increasing afferent activity.
Which of these correctly describes the Babinski maneuver?
Answer: Normal infants and adults with upper neuronal damage will display a positive Babinski sign, where the big toe extends and the rest of the toes fan outward when the sole is stroked. In normal patients above two years of age, all toes will curl inward instead.


--- title: "2018: Year in Books | Goodreads" author: Janani Ravi date: '2019-01-01' slug: goodreads-2018 categories: - Books-Blogs tags: - books # - review summary: "My Year in Books: 2018!" image: caption: '' focal_point: '' ---
Find my latest reads & recommendations on Goodreads!


About
*The website is mostly temporary at the moment. The blog posts will be kept, but everything else is likely to change.
Welcome to the one and only Timothy Ford’s blog website! You can find my interests scattered around in four different categories found in the navigation bar at the top of the page. I feel these four different categories sum up the things I can easily talk about and share with others. They include, but aren’t limited to introspection, history and religion, nerdy stuff, and my adventures such as traveling.
1.  I mean whose life isn’t? Here is where I will put my reflections on life and explorations of what I do and don’t enjoy for the world to decipher through and maybe learn from. My goals and aspirations will also be found here. Find more about my feelings towards introspection and what can be found here at this link.
2. History/Religion
I wouldn’t say I have a strong interest in either history or religion. However, I am intrigued by how they are related and what they can teach individuals. I believe there is more to history and religion than what is taught in primary and secondary schools and should be explored as an individual more. More on what can be found here and why I find it important can be found at this link.
3. Nerdy Stuff
So many things can fit into this category I don’t even know where to start. I have many nerdy interests. I enjoy just about anything to do with a computer and can’t use the devilious Windows operating system without crying. Linux is always my go-to operating system and it fits my programming and electrical mind far more than the bloatware Microsoft offers. Games and game development can also be found here. To find out the full extent of my nerdiness look at this link.
4. My Adventures
  ;I love the outdoors. Rain, snow, sleet, or hail I can be found outside running, hiking, biking, or just in general exploring the world. I plan to do some traveling one day and I have some very wierd, strong, and cheap views on living style that I wish to someday live. More information on my absurd living style and other outdoorsy things can be found at this link.
I hope my overthought introspection ramblings, random history and religious thoughts and explorations, nerdy and scholarly writings, and my crazy adventures are entertaining and worth the read. Feel free to ask questions and write comments in the comments at the bottom of the posts. Thank you so much!
comments powered by Disqus


+ A bit of Git
Today
Ctrl
+Alt
+T
and hit enter
Command
+Spacebar
Type in "Terminal"
and hit enterWindows
+r
Type in "cmd"
and hit enterIn your terminal:
java -version
Windows Start > Programs > Java > About Java
Java can also be manually added to PATH to run the `java -version` command.
In your terminal:
git -version
If you don't have it:
In your terminal:
On Fedora RPM distribution:
sudo dnf install git-all
On Debian-based distribution:
sudo apt install git-all
There is a exe to install for windows. You can also install Git Desktop.
In your terminal:
git -version
Describe the bits of an Android application.
Install from Google Play
You get an Icon on your Home Screen
You click it
Play!
Layout xml (like HTML)
Java code (like js)
AndroidManifest.xml
build.gradle
Define the UI for your app
The java does the "work" of the app
Think of this file as the "settings" for your application
This is the "dependancy list" for your application
Activity
Intent
Fragment, Service, BroadcastReceiver, ContentProvider, etc...
Identify the 4 basic parts of an Android app and their purpose.
Navigate files and folders using the terminal
Clone a GitHub project using the command line
Heart of your OS
You can do anything you could do in finder in the command line but faster
"Directory" = "Folder"
Just like high school math, functions/commands represent a set of instructions that take input, do calculations on that input, and return a result.
What happens if we do f(3)?
Mac:
Applications > Utilitites > Terminal
For Mac users, lets also open our finder to see how updates made in the terminal affect our file and folder structure
PC: Right click desktop and choose
Git bash
Remember: Directory = Folder
Do these with me!
Where am I now? (present working directory)
pwd
cd
What's in here? (list contents of directory)
ls
dir
Change directories
cd
Make a new directory
mkdir
Remove an empty folder
rmdir
Create an empty file
touch filename.txt
$null > filename.txt
Remove a file
rm
del
Copy a file
cp
copy
Open the current directory with a text editor
atom
cd ..

Let's check it out:
Copy this link: https://i.imgur.com/07OiOrs.png
We'll reference it throughout the lesson
git clone<EMAIL_ADDRESS>https://github.com/mapbox/mapbox-android-demo
What information can we find about this project history?
If you are still having installation problems, please talk to me before going to eat.
Why Java???
Well, for Android, you need it.
There's also Kotlin (a new jvm language which Android supports)... but let's not worry about that for now
(Mostly) Everything is a class/object
Unlike scripting languages, you can't just "run" a file
Java code is just text
"Compiled" into maching readable code
All languages technically do this at some point
Don't worry about public class App
Or public static void main
Java is primitives and objects
Primitives are basic data types
Objects are data collections (basically)
An object is a software bundle of related state and behavior. Software objects are often used to model the real-world objects that you find in everyday life.
Practice the next few slides with me!
Numbers
Strings
Boolean
Collections
1, 5, 245, -42,<PHONE_NUMBER>1324
byte, short, int, long
1.1, 2.000043, -0.5522001
float, double
Yes/No value
You can join strings!
> This is a string
Discuss: Could you think of any use cases for this?
Writes string out to terminal:
(Yes, Java can be verbose)
Code along! Strings & Integers
f(x) = x + 2
Does this function produce anything if you repeat the "instructions"?
Method is a list of instructions
In Java, you would write f(x) = x + 2 like:
All methods have
You'll see some other words floating around. Visibility is only important once you get into classes
And if you see synchronized, you're probably in the wrong place
Note, all methods are part of a class (but don't worry about that yet)
Use the name, pass params, profit.
Don't get freaked out by 'static'. Just use it for now
Methods code along
Shows a list of branches:
git branch
Checks out a new branch:
git checkout branch-name
Creates a new branch:
git branch -b branch-name
feature/user-input
"MathTest
` in the test directoryWhy might you write a unit test?
Unit Test!
But more on that later...
Basic Android bits
Command line
Git
Basic Java and types
Boolean logic
Methods
Android has 3 major parts
Let's get our brains going!
(Kevin, https://github.com/kpgalligan/ga_ex6_names)
Check tlk.io for the kickoff assignment.
Part 1: Together - clone, fork https://github.com/kpgalligan/ga_ex6_names
Part 2: In Pairs - https://gist.github.com/kpgalligan/1ed0157e53fd0d28d49b
Bonus: Push your code to GitHub!
This allows you to create an if statement that could be satisfied by multiple conditions
and
or
Fork it, clone it, solve it!
https://github.com/kpgalligan/ga_ex7_adminexample
For
While (if you're curious)
Watch me!!

Collections can include all types of data
Java is going to make this a little weird, so WAKE UP!
Can have a bunch of variables and methods
Just simple data (low level stuff)
But can also be an object
Java has an array type, which is a basic collection of values
But you need to know how many up front, and not many methods (ew)
Are more flexible. Can just add, call methods, but...
The can only hold objects. No primitives. Yet, autoboxing...
Just assume you'll understand it after you learn about objects
NOTE: Indexes start at 0!
Code along with me:
We can "iterate" over them!
read: "we can do Something to each element in a collections of data"
We got sweet methods on hashes too!
stringMap.keySet()
stringMap.values()
stringMap.size()
Let's practice adding new values and retrieving values from a Map
stringMap.get("name")
stringMap.get("address")
Clone code: https://github.com/kpgalligan/ga_ex9_collect
Read the big data file of cities
Store all the cities by state
State is the key in a Map. Cities for each in a List
Values in file are comma separated
Use "split" string method to separate parts
Use "trim" string method, because spaces are messy
Similar to browsers
Use a network library to make server calls
It all comes down to requests and responses
You send information out to the web, and based on the info you send, you get information back
Stands for "Hyper Text Transfer Protocol"
Allows for communication between a variety of hosts and clients, and supports a mixture of network configurations.
Read: "Makes it easy for computers to talk to each other"
Host - Client - Request - Response
Predict, with a partner, how these vocabulary words relate to one another. When you're finished, we'll draw a diagram on the board that we will refer back to.
Host - a computer or other device connected to a computer network. A host may offer information resources, services, and applications (via computer code!) to users or other computers on the network
Examples: Servers and Web Services
Let's login to the AWS Console, Heroku
Client - the requesting program in the client/host relationship
The client initiates an HTTP request message, which is serviced through a HTTP response message in return.
Come up with one example of a client that can send requests.
Terminals
Web Browsers
Mobile Apps
Open your terminal, and copy in the following request:
curl "http://api.openweathermap.org/data/2.5/weather?q=new+york,us&APPID=ee24dd3e8a995617fbb51fdd7b160e2c"
cURL stands for 'Client URL Request Library'
Format for display
(Often JSON)
Communication through urls from client
Path and params point at things
Gets data from the server
Generally modifies data on server
The internet!
https://docs.oracle.com/javase/tutorial/
http://codingbat.com/java


Exploratry and predective data analysis for SFCAPC
Developed as a part of DataKind hackathon with a team of data scientists from different walks of life.
Problem:
Objective of this project was to predict clients who will succeed at building protective factors, so that SFACPC could better allocate staff, time and resources.
Process:
As part of the DataKind hackathon I got to work for San Francisco Child Abuse Prevention Center which provides targeted intervention program to high risk families in order to build protective fators and prevent child abuse.
We started with raw data that the center had collected over two years on the families that go through its programs and their scores at various points in the program
To understand the data better we built out a data model. This helped us in outlining the major predective factors that could affect the outcome, ie, succeeding the program. At this point we hypothesised that demographics and the interventions that the family recieves would have an affect on building protective factors in individual.
Before we could explore the data any further we had to clean the data and turn it into a form that could be used in further analysis.
We found that the zip code of families ,ie, their neighbourhood has an affect on their likelyhood to succeed in the progam.
We conducted least square regression on the data and found out that some of the interventions like adult counselling and care anagement has higher impact on building protective factors. In general, we also found that the more time an individual spends in the interventions, more likely theya re to succeed.


Please enter your username and e-mail address. You will reveice a new password via e-mail.
Username
Email address


@import drawtogether.shared.ingame.InGame.InGamePreview @import models.Tables._ @import drawtogether.shared.ingame.InGame.FinishedDrawing @(inGames: List[InGamePreview], bestGames: Seq[FinishedDrawing], recentGames: Seq[FinishedDrawing])
Title: @game.gameSettings.title
Round: @game.currentRound of @game.gameSettings.totalRounds
Seconds/Round: @game.gameSettings.secondsPerRound
Players: @game.playerCount of 4
Rounds: @game.gameSettings.totalRounds
Stars: @game.stars


{% extends 'base/content_base.html' %} {% load staticfiles %} {% load crispy_forms_tags %} {% block content %}
{{ object }}!


Temporary WiFi joiny thing
Status:
IP Address:
Networks
SSID
Strength
Connect to a network
SSID
Password


Caption 1
Caption 2
Caption 3
Caption 4
Caption 5
Toggle navigation
Big Beat
News
Reviews
Tracks
Recommended
Features
Mixes
Events
Blog
TV
Albums
Singles/EPs
Recommended


HL
Scout
Soldier
Pyro
Demoman
Heavy
Engineer
Medic
Sniper
Spy
6v6
Scout
Soldier
Demoman
Medic
UD
Soldier
Medic
BBall
Soldier


Great things never take shape from modest ambitions
thats why we are pushing the limits and aiming for the sky.. Presenting Kshitij Residency, a stellar project designed to inspire new trends in the neighbourhood. Situated next to
Mayur Colony - One of the most desirable locations in Kothrud - Kshitij Residency is an upscale address offering quick-n-easy access to everything that matters.
A handpicked location, contemporary design, best-in-class
amenities and superb price advantage make it an irrestible proposition.
Kshitij Residency is much more than your new home; its the horizon where aspiration meets fulfilment.
One of the biggesr composite project's in Gujraat colony & Mayur colony locality
POCKET-FRIENDLY HOMES
Adjacent to Mayur Colony but with an unbelivable price advantage! Now catch the buzz of mayur colony without stretching your budget!
UNMATCHED CONNECTIVITY
Malls, Market, Schools & College, garden, health clubs,
coffee shops, hospitals, swimming pools, jogging tracks
and many other facilities /services are located close by. quick, easy access to the Pune-Banglore highway.
ACCESS TO IT PARKS
Now spend less time on roads, more time at home! The Convenient and strategic location of Kshitij Residency results in smooth connectivity to th IT Parks of Hinjewadi/Kharadi/Magarpatta.
CULTURAL EXUMBERANCE
Excitement is never far away as the cultural and leisure hotspots of Kothrud are just a quick drive from home.
Metro Magic
The Proposed Paud road metro station is just round the corner. work on chandani chowk flyover is also in progress, which will make travelling to Hinjewadi / Baner / Katraj easier and faster.


Preparation time
less than 30 mins
Cooking time
30 mins to 1 hour
Serves
Serves 6
Dietary
A beautiful vegetarian Easter feast, this authentic Italian pie is stuffed with fresh greens and rich eggs and is perfect for eating throughout the summer.
Preheat the oven to 200C/400F/Gas 6.
Grease a 28cm/11in round, deep pie dish with butter, then dust with flour.
For the torta, place five of the eggs into a pan of boiling water and boil for ten minutes. Drain and place the eggs into cold water and leave to cool. Once cool, remove the shells and cut the eggs in half lengthways.
Wash the spinach and dandelion leaves and shake to remove the excess water.
Heat a large pan with a lid until hot, then add the spinach and dandelion leaves and cover. Cook for 4-5 minutes, until steamed and wilted down. Drain the spinach and dandelion mixture, and, once cool enough to handle, squeeze out any excess liquid. Roughly chop the spinach and dandelion mixture and place into a bowl.
Heat a frying pan over a medium heat and add the olive oil and onion. Fry the onion gently for a few minutes until softened, then set aside and allow to cool.
Add the cooked onion to the spinach and dandelion and mix well.
Add the ricotta and parmesan and mix well.
Add the provolone, season, to taste, with salt and freshly ground black pepper and mix well.
Roll out about half of the puff pastry to 0.5cm/¼in thick and use to line the prepared pie dish.
Fill the pie case with half of the spinach and cheese mixture.
Add the boiled egg halves, yolks down, evenly spaced, then top with the remaining spinach mixture.
Brush the edge of the pastry with a little beaten egg.
Roll out the remaining puff pastry to the same thickness as the first sheet, and place over the pie filling, pressing down the edges well. Trim away any excess pastry and crimp the edges with your fingers, so that the pie is well sealed.
Make a small incision the shape of a cross into the centre of the pastry top to allow steam to escape during baking.
Brush the top of the pastry with beaten egg, then transfer to the oven to bake for 35-40 minutes, or until risen and golden-brown all over. Remove from the oven and allow to cool.
For the salad, boil the broad beans for one minute, then drain and refresh in cold water.
In a large clean bowl, place the celery, rocket and mint. Add the cooled broad beans and mix well.
Place the olive oil and lemon juice into a small clean bowl and whisk until it starts to thicken. Pour the dressing over the salad and mix well.
To serve, place a slice of the torta onto each plate and spoon some of the salad alongside. Drizzle everything with a little extra virgin olive oil and top with shavings of pecorino cheese.


In my senior year of Computer Science bachelors, we undertook a year-long team project, which is called to be our capstone. I worked in a fantastic team with Grant Holmes, Malena Schoeni, Carter Hurrod, and Rodrigo Figueroa! My role in the group was more of a manager, such as keeping up with our deliverables, communication, conflict resolution, and project management. Supa thankful for such a great team and what we were able to do.
Our team/project is called Phantasos, after a Roman God of Sleep. The goal was to develop a system that expands the user’s interactive capability of interfacing with a computer using multiple sensors. Keyboards? Mice? This is old tech from the 60s. There is lots of friction between computers and users; let us explore new ways that we can interact with them. In many ways, this idea has been significantly inspired by Sword Art Online.
Please see the final demo video below.


Sign up
Name:
Email Address:
Please select your gender:
Male
Female
Other
Password:
Confirm Password:
Tell us something about yourself:
Agree to all terms and conditions*
Send me mails regarding latest posts and updates


A coat arrives at your door. Your mom said she’d drop it off at the door and she did. You inherited the coat from your gramps. Hey, wo! This coat has a skinny pocket, runs vertically over your left breast. (How neat and discreet.) And wonderful knobbly wooden buttons.
Someone left a pair of white gold cufflinks in the lower pocket. White g-g-gold!!!
Hobix is a new coat, but it’s really funky, you gotta be adventurous and intrepid. You have to be able to do a triple front-flip without using your legs at all. If you use Hobix and you can’t do a triple front-flip without using your legs, then you will go to Federal prison. Because you’re almost definitely pullin other heists that are unpaid, comin after ya.
The basic points behind Hobix are:
Yeah, so?? So what’s adventurous about that?? How is that new and revolutionary and rad and freaky sweet and such?? O-ho. Well, let me tell ya.
Okay, so it’s not. But I really want it to be!!
Hobix is written in Ruby and all the scripting you’ll do will be in Ruby. But, Ruby is pretty simple, so that’s why I said you had to be adventurous but I didn’t say too sly. Ruby’s a pretty language and you’ll go for it.
Basically there are three parts to using Ruby to build a blahhg:
See, watch how you show news entries on the front page for your websyht:

news
 <% entries.each do |e| %>
<%= e.title %>

<%= e.body.to_html %>
 <% end %>
You’ll also be using YAML. If you’ve heard of XML, then let it go. YAML is a simple format that’s getting a leg up on the world (even though it’s still kind of on crutches from having such new legs).
You use YAML in two places:
So, to add new entries, you just create a new YAML file:
--- !hobix.com,2004/entry author: why title: Dog on Frazier Buys Oceanfront Property content: > !http://msn.com/frazier_dog.jpg(Richer than any human named Jack Russell)! Today, this dog did this.
Lastly, Textile is used in the entries to keep you from using HTML in your entries. As seen above, exclamations are used to place an image.
Let’s give you a taste of a few other Textile conventions.
| features | . | in textile | . | in your browser |
|---|---|---|---|---|
| nice quotes | → | ==”Yikes,” he said.”== | → | “Yikes,” he said.” |
| emphasis | → | ==I’m so in love!!!== | → | I’m so in love!!! |
| strong text | → | ==Such chunky bacon.== | → | Such chunky bacon. |
| mixed | → | ==30 DAYS NO INTEREST!== | → | 30 DAYS NO INTEREST! |
| links | → | ==Hobix== | → | Hobix |
Yeah, so, Textile makes it a bit easier to read and manage all that writing.


You can use sceletus.css on your page by adding the following <link>
element into your page's
, before your project's stylesheets.
<link href="path/to/sceletus.css" rel="stylesheet"/>
The viewport meta element lets you control the the width and scale of the viewport on mobile browsers.
Since you're building a responsive website, you want the width to be equal to the device's native width. Add this into your page's
.
<meta name="viewport" content="width=device-width, initial-scale=1">

 Greater than 0px

 Greater than 768px

 Greater than 992px

 Greater than 1200px

The base type is 15px over 1.6 line height (24px)

Heading

Heading

Heading

Heading

Heading

Heading

The base type is 15px over 1.6 line height (24px)

Bolded
Italicized
Colored
Underlined
Code styling is kept basic – just wrap anything in a
and it will appear like this
. For blocks of code, wrap a
with a

.

.some-class {
background-color: red;
}

To make a button, simply add the .button
class to an element followed by a color and a size.
The buttons come in 6 different colors: .green
.blue
.red
.yellow
.light
.dark
They also come in 3 different sizes. Add .big
to make big button and .small
to make a small one. To make a normal button, don't add a size class.

<button class="button red big"></button>

Green button

<input type="submit" class="button yellow small" />

Ordered list item 1

Oredere list item 2

Unordered list item 2.1

Unordered list item 2.2

Ordere list item 3

Sceletus.css aims to reinvent the input layout model, thus sceletus.css has adopted a very simplistic layout.
The colours can be easily changed in the.scss
file.
To use the sceletus form styles, you must wrap the inputs with a .sceletus_form
class. You can apply the class on a div
element, or directly on the form
.
<form class="sceletus-form">
<input type="email" placeholder="Email">
<input type="password" placeholder="Password">
<input class="button blue" type="submit" value="Sign In">
<input class="pull-right" id="remember" type="checkbox">
 Remember me
</form>
<form class="sceletus-form">
<input type="text" placeholder="Name">
<input type="email" placeholder="Email">
<textarea placeholder="Message"></textarea>
<input class="button blue full-width" type="submit" value="Send">
</form>

Checkboxes

<form class="sceletus-form">

<input type="checkbox" name="check" checked>
Checked

<input type="checkbox" name="check">
Unckecked

<input type="checkbox" name="check" disabled>
Disabled

</form>

Radio Buttons

<form class="sceletus-form">

<input type="radio" name="radio" checked>
Selected

<input type="radio" name="radio">
Unselected

<input type="radio" name="radio" disabled>
Disabled

</form>
To make a label, simply add the .label
class to an element followed by a color.
The labels come in 6 different colors: .green
.blue
.red
.yellow
.light
.dark

<button class="button red big"></button>

Green button

<input type="submit" class="button yellow small" />
| Name | ID | Favorite Color | Occupation |
|---|---|---|---|
| Jim | 00001 | Blue | Police officer |
| Sue | 00002 | Red | Lawyer |
| Barb | 00003 | Green | Nurse |
| Evan | 00004 | Yellow | Barista |

Name
ID
Favorite Color
Occupation

Jim
00001
Blue
Police officer

Sue
00002
Red
Lawyer

Barb
00003
Green
Nurse

Evan
00004
Yellow
Barista

To use the modal module, simply add the code below where you want the modal to appear.

<input id="modal" type="checkbox" hidden="hidden" name="modal" tab-index="1">
Launch Modal

✖

This is your modal content

More modal content

Sceletus comes with a few alert boxes. By default they will fill the width of the container they're placed in.
There are currently 4 different alerts: .message
, .success
, .warning
and .error
.

<input id="message" type="checkbox" hidden="hidden" name="message" tab-index="0">

By continuing to use this site, you agree to our cookie policy
✖

<input id="success" type="checkbox" hidden="hidden" name="success" tab-index="0">

Success! Your settings were changed
✖

<input id="warning" type="checkbox" hidden="hidden" name="warning" tab-index="0">

Warning! Your post has been deleted!
✖

<input id="error" type="checkbox" hidden="hidden" name="error" tab-index="0">

Whoops, something went horribly wrong!
✖

To use the sceletus responsive video, simply wrap your video iframe in a container with class sceletus-video
.
Sceletus presumes that the aspect ratio of the video is 16:9 and scales accordingly.
Remember to remove the width
and height
property from the iframe tag.

Images in sceletus can be made responsive by using the .sceletus-img
class.
This applies max-width: 100%;
, height: auto;
and display: block;
to the image so it scales to the parent element. See the Utilities section for more details
Add the .rounded
class to your image
Add the .circle
class to your image
Add the .border
class to your image

sceletus.css comes with a number of utility classes you can use in your projects.
.center-text /* Useful for centering text and elements within the grid */
.pull-right /* Used to float elements to the right */
.pull-left /* Used to float elements to the left */
.clear /* Used to clear floats */
.full-width /* Used to set the width of an element to 100% of its parent's width */
.disabled /* Used to disable an element - to make it non-clickable */
.muted /* Makes the text color grey, good for article date and time */
.animated /* Adding smooth transitions to e.g. buttons and other hover effects */
.sceletus-img /* Add class to an image to make it responsive */
sceletus.css uses media queries to generate its scalable grid. It comes with a list a queries that makes it easy to style you projects across devices. The queries are mobile first, which means they target "min-width".
/* Larger than mobile */
@media (min-width: 768px) { }
/* Larger than tablet */
@media (min-width: 992px) { }
/* Larger then desktop */
@media (min-width: 1200px) { }


How I Atom R.
Under construction.
Rbox
I want to share my experience of using Atom as my day-to-day text editor for whom need coding and typing. This post inspired by @benbalter’s How I Atom (for prose),ron4stoppable that discus Atom as a computing environment, thought I’d talk a bit coding in R.
I deployed a packaged Rbox package , it designed for running R in Atom editor. Rbox defines the R grammar in Atom editor to work and facilitate with snippets. The R’s code in Atom can be run in see run inline or via terminal. To run inline install hydrogen, the package Hydrogen provides a modern approach of using Jupyter kernels in Atom. It lets you choose which codes (the whole file, a single line, and a selection) you want to run. To run the code using termianl, installtermination. This package provides the access to the terminal in Atom and the code can be run in the terminal without leaving Atom.
Editor
Atom can be used as regular editor, you need to install appropriate packages.
- Theme-switcher - Switch between dark and light themes, helpful if you ever work outside.
- Minimap - It provides a preview of the full source code.
- Split - When working on a long text code, split (right click to select it) provides very useful method for working on different part of file.
- Shortcut keys - Atom has several shortcut keys, look at settings>Keybindings for the existing shortcut keys in your Atom. A short review can be found in Shortcuts, I often use cmd+shift+d: duplicate the selected code. ctrl+F2: mark the line\lines. Cmd+/: inserts the comment character immediately in the beginning of line. IF your plain text is R, it adds # at in front of line. ctrl-tab (ctrl-shift-tab): move through the current open tabs (forward and backwards). cmd-shift-p to access the Command Palette.
Theme
Select an appropriate theme from settings>Themes. I personally use UI Theme: One Dark and Syntax Theme: One Dark.
Markdown
There’s a number of Markdown-specific packages, I like Markedown Previrew enhanced and Markedown Previrew among many other.
Linters
Linter compare the current file with a predefined structure. Rbox has Grammar that can show mistake in the script file, there is linter for R, I am not using it because it is very sensitive to the space between parentheses.
I like linter for spell checks. @balter’s “How I Atom” post gave a short description, see below
Prose linters
There are a few prose-specific linters I credit for improving my day-to-day writing:
- linter-write-good - A grammar linter, Write Good checks all sorts of things, like cliches, passive voice, and unnecessarily wordy phrases.
- linter-markdown - This linter, based on Remark JS lints Markdown formatting, ensuring things like headings are surrounded by whitespace and bulleted lists are consistent.
- linter-alex - Alex checks your writing for biased or insensitive language.
- linter-just-say-no - Discourages you from using hedge words that weaken’s the impact of your writing.


Using KUnit
Where is KUnit? Getting KUnit
KUnit is integrated into the Linux kernel, so all you need is a version of the kernel which contains KUnit, and a config file with which to build it. The Getting KUnit page covers the different versions of KUnit available, and where to get them.
Running tests
To run KUnit tests, you’ll need to provide a ‘kunitconfig’ file, which contains the list of test modules to build, and their dependencies.
Once you have the kunitconfig
file, just run:
./tools/testing/kunit/kunit.py run
Tip
You may want to run KUnit with flags like:
./tools/testing/kunit/kunit.py run --timeout=30 --jobs=24 --defconfig
--timeout
sets a maximum amount of time to allow tests to run.--jobs
sets the number of threads to use to build the kernel.--defconfig
uses an default kunitconfig in the kernel source.
For more information on these and other flags, try running:
./tools/testing/kunit/kunit.py run --help
This will build a UML (User Mode Linux) kernel, run the specified tests, and print the results (nicely formatted) to the screen.
Tip
If you get the error message: /bin/sh: flex: command not found
or
similarly /bin/sh: bison: command not found
, you are most likely missing
the flex and bison packages. On a system using the apt package manager you
can install them with
sudo apt-get install flex bison
For more information on building the kernel, see https://www.kernel.org/doc/html/latest/process/changes.html
Writing tests
Once you have KUnit working, writing tests is easy. Each test is a function
which accepts a struct kunit
argument, and which calls the various
KUNIT_EXPECT_*
macros to verify the state under test.
More details can be found in the Getting Started guide.
Submitting tests upstream
Ideally, KUnit tests will be submitted upstream alongside the code being tested,
so any user or developer can run the tests and test any changes they make.
Unless they affect KUnit itself, this means that KUnit tests should ideally be
treated as any other change, and submitted via the maintainer of the subsystem
being tested. (Though do feel free to copy in the
<EMAIL_ADDRESS>list if you want.)
For changes to KUnit itself, we recommend submitting patches via the
linux-kselftest/kunit
branch, which contains the version of KUnit likely to
head upstream. To do so, please send your patch via the
<EMAIL_ADDRESS>list. You should still get a review from
any relevant the subsystem maintainers, though.
And, of course, you should follow the general rules and guidelines laid out in https://www.kernel.org/doc/html/latest/process/submitting-patches.html