HttpRequestDetector рelper class that retrieves parameters from HTTP requests.
var HttpRequestDetector = THttpRequestDetector{}
type AboutOperations struct { RestOperations // contains filtered or unexported fields }
func (c *AboutOperations) About(res http.ResponseWriter, req *http.Request)
func (c *AboutOperations) GetAboutOperation() func(res http.ResponseWriter, req *http.Request)
func (c *AboutOperations) GetNetworkAddresses() []string
func (c *AboutOperations) SetReferences(references crefer.IReferences)
CommandableHttpService abstract service that receives remove calls via HTTP/REST protocol to operations automatically generated for commands defined in ICommandable components. Each command is exposed as POST operation that receives all parameters in body object.
Commandable services require only 3 lines of code to implement a robust external HTTP-based remote interface.
Configuration parameters:
- base_route: base route for remote URI - dependencies: - endpoint: override for HTTP Endpoint dependency - controller: override for Controller dependency - connection(s): - discovery_key: (optional) a key to retrieve the connection from IDiscovery - protocol: connection protocol: http or https - host: host name or IP address - port: port number - uri: resource URI or connection string with all parameters in it
References:
- *:logger:*:*:1.0 (optional) ILogger components to pass log messages - *:counters:*:*:1.0 (optional) ICounters components to pass collected measurements - *:discovery:*:*:1.0 (optional) IDiscovery services to resolve connection - *:endpoint:http:*:1.0 (optional) HttpEndpoint reference
See CommandableHttpClient See RestService
Example:
type MyCommandableHttpService struct { *CommandableHttpService } func NewMyCommandableHttpService() *MyCommandableHttpService { c := MyCommandableHttpService{ CommandableHttpService: services.NewCommandableHttpService("dummies"), } c.DependencyResolver.Put("controller", cref.NewDescriptor("pip-services-dummies", "controller", "default", "*", "*")) return &c service := NewMyCommandableHttpService(); service.Configure(cconf.NewConfigParamsFromTuples( "connection.protocol", "http", "connection.host", "localhost", "connection.port", 8080, )); service.SetReferences(cref.NewReferencesFromTuples( cref.NewDescriptor("mygroup","controller","default","default","1.0"), controller )); opnErr:=service.Open("123") if opnErr == nil { fmt.Println("The REST service is running on port 8080"); }
type CommandableHttpService struct { *RestService SwaggerAuto bool // contains filtered or unexported fields }
func InheritCommandableHttpService(overrides IRestServiceOverrides, baseRoute string) *CommandableHttpService
InheritCommandableHttpService creates a new instance of the service. Parameters:
- overrides references to child class that overrides virtual methods - baseRoute string a service base route.
Returns: *CommandableHttpService pointer on new instance CommandableHttpService
func (c *CommandableHttpService) Configure(config *cconf.ConfigParams)
Configure method configures component by passing configuration parameters.
- config configuration parameters to be set.
func (c *CommandableHttpService) Register()
Register method are registers all service routes in HTTP endpoint.
type CommandableSwaggerDocument struct { Commands []ccomands.ICommand Version string BaseRoute string InfoTitle string InfoDescription string InfoVersion string InfoTermsOfService string InfoContactName string InfoContactUrl string InfoContactEmail string InfoLicenseName string InfoLicenseUrl string // contains filtered or unexported fields }
func NewCommandableSwaggerDocument(baseRoute string, config *cconf.ConfigParams, commands []ccomands.ICommand) *CommandableSwaggerDocument
func (c *CommandableSwaggerDocument) GetSpaces(length int) string
func (c *CommandableSwaggerDocument) ToString() string
func (c *CommandableSwaggerDocument) WriteData(indent int, data map[string]interface{})
func (c *CommandableSwaggerDocument) WriteName(indent int, name string)
type HeartbeatOperations struct { RestOperations }
func NewHeartbeatOperations() *HeartbeatOperations
NewHeartbeatOperations creates new instance HeartbeatOperations Returns: *HeartbeatOperations
func (c *HeartbeatOperations) GetHeartbeatOperation() func(res http.ResponseWriter, req *http.Request)
Heartbeat method are insert timestamp into HTTP result
func (c *HeartbeatOperations) Heartbeat(res http.ResponseWriter, req *http.Request)
Heartbeat method are insert timestamp into HTTP result
HeartbeatRestService service returns heartbeat via HTTP/REST protocol.
The service responds on /heartbeat route (can be changed) with a string with the current time in UTC.
This service route can be used to health checks by loadbalancers and container orchestrators.
Configuration parameters:
- baseroute: base route for remote URI (default: "") - route: route to heartbeat operation (default: "heartbeat") - dependencies: - endpoint: override for HTTP Endpoint dependency - connection(s): - discovery_key: (optional) a key to retrieve the connection from IDiscovery - protocol: connection protocol: http or https - host: host name or IP address - port: port number - uri: resource URI or connection string with all parameters in it
References:
- *:logger:*:*:1.0 (optional) ILogger components to pass log messages - *:counters:*:*:1.0 (optional) ICounters components to pass collected measurements - *:discovery:*:*:1.0 (optional) IDiscovery services to resolve connection - *:endpoint:http:*:1.0 (optional) HttpEndpoint reference
See RestService See RestClient
Example:
service := NewHeartbeatService(); service.Configure(cconf.NewConfigParamsFromTuples( "route", "ping", "connection.protocol", "http", "connection.host", "localhost", "connection.port", 8080, )); opnErr := service.Open("123") if opnErr == nil { fmt.Println("The Heartbeat service is accessible at http://+:8080/ping"); }
type HeartbeatRestService struct { *RestService // contains filtered or unexported fields }
func NewHeartbeatRestService() *HeartbeatRestService
*
Creates a new instance of c service.
func (c *HeartbeatRestService) Configure(config *cconf.ConfigParams)
*
Configures component by passing configuration parameters. @param config configuration parameters to be set.
func (c *HeartbeatRestService) Register()
*
Registers all service routes in HTTP endpoint.
HttpEndpoint used for creating HTTP endpoints. An endpoint is a URL, at which a given service can be accessed by a client.
Configuration parameters:
Parameters to pass to the configure method for component configuration:
- cors_headers - a comma-separated list of allowed CORS headers - cors_origins - a comma-separated list of allowed CORS origins - connection(s) - the connection resolver"s connections: - "connection.discovery_key" - the key to use for connection resolving in a discovery service; - "connection.protocol" - the connection"s protocol; - "connection.host" - the target host; - "connection.port" - the target port; - "connection.uri" - the target URI. - credential - the HTTPS credentials: - "credential.ssl_key_file" - the SSL func (c *HttpEndpoint )key in PEM - "credential.ssl_crt_file" - the SSL certificate in PEM - "credential.ssl_ca_file" - the certificate authorities (root cerfiticates) in PEM
References:
A logger, counters, and a connection resolver can be referenced by passing the following references to the object"s setReferences method:
- logger: "*:logger:*:*:1.0"; - counters: "*:counters:*:*:1.0"; - discovery: "*:discovery:*:*:1.0" (for the connection resolver).
Examples:
endpoint := NewHttpEndpoint(); endpoint.Configure(config); endpoint.SetReferences(references); ... endpoint.Open(correlationId)
type HttpEndpoint struct {
// contains filtered or unexported fields
}
func NewHttpEndpoint() *HttpEndpoint
NewHttpEndpoint creates new HttpEndpoint
func (c *HttpEndpoint) AddCorsHeader(header string, origin string)
AddCORSHeader method adds allowed header, ignore if it already exist must be call before to opening endpoint
func (c *HttpEndpoint) Close(correlationId string) error
Close method are closes this endpoint and the REST server (service) that was opened earlier. Parameters:
- correlationId string (optional) transaction id to trace execution through call chain.
Returns: error an error if one is raised.
func (c *HttpEndpoint) Configure(config *cconf.ConfigParams)
Configure method are configures this HttpEndpoint using the given configuration parameters. Configuration parameters:
- connection(s) - the connection resolver"s connections; - "connection.discovery_key" - the key to use for connection resolving in a discovery service; - "connection.protocol" - the connection"s protocol; - "connection.host" - the target host; - "connection.port" - the target port; - "connection.uri" - the target URI. - "credential.ssl_key_file" - SSL func (c *HttpEndpoint )key in PEM - "credential.ssl_crt_file" - SSL certificate in PEM - "credential.ssl_ca_file" - Certificate authority (root certificate) in PEM - config configuration parameters, containing a "connection(s)" section.
func (c *HttpEndpoint) GetCorrelationId(req *http.Request) string
GetCorrelationId method returns CorrelationId from request Parameters:
req *http.Request request
Returns: string retrun correlation_id or empty string
func (c *HttpEndpoint) IsOpen() bool
IsOpen method is whether or not this endpoint is open with an actively listening REST server.
func (c *HttpEndpoint) Open(correlationId string) error
Opens a connection using the parameters resolved by the referenced connection resolver and creates a REST server (service) using the set options and parameters. Parameters:
- correlationId string (optional) transaction id to trace execution through call chain.
Returns : error an error if one is raised.
func (c *HttpEndpoint) Register(registration IRegisterable)
Registers a registerable object for dynamic endpoint discovery. Parameters:
- registration IRegisterable implements of IRegisterable interface.
See IRegisterable
func (c *HttpEndpoint) RegisterInterceptor(route string, action func(w http.ResponseWriter, r *http.Request, next http.HandlerFunc))
RegisterInterceptor method are registers a middleware action for the given route.
- route the route to register in this object"s REST server (service). - action the middleware action to perform at the given route.
func (c *HttpEndpoint) RegisterRoute(method string, route string, schema *cvalid.Schema, action http.HandlerFunc)
RegisterRoute method are registers an action in this objects REST server (service) by the given method and route.
- method string the HTTP method of the route. - route string the route to register in this object"s REST server (service). - schema *cvalid.Schema the schema to use for parameter validation. - action http.HandlerFunc the action to perform at the given route.
func (c *HttpEndpoint) RegisterRouteWithAuth(method string, route string, schema *cvalid.Schema, authorize func(w http.ResponseWriter, r *http.Request, next http.HandlerFunc), action http.HandlerFunc)
RegisterRouteWithAuth method are registers an action with authorization in this objects REST server (service) by the given method and route. Parameters:
- method string the HTTP method of the route. - route string the route to register in this object"s REST server (service). - schema *cvalid.Schema the schema to use for parameter validation. - authorize the authorization interceptor - action the action to perform at the given route.
func (c *HttpEndpoint) SetReferences(references crefer.IReferences)
SetReferences method are sets references to this endpoint"s logger, counters, and connection resolver.
References: - logger: "*:logger:*:*:1.0" - counters: "*:counters:*:*:1.0" - discovery: "*:discovery:*:*:1.0" (for the connection resolver)
Parameters:
- references an IReferences object, containing references to a logger, counters, and a connection resolver.
func (c *HttpEndpoint) Unregister(registration IRegisterable)
Unregisters a registerable object, so that it is no longer used in dynamic endpoint discovery. Parameters:
- registration IRegisterable the registration to remove.
See IRegisterable
IRegisterable is interface to perform on-demand registrations.
type IRegisterable interface {
// Perform required registration steps.
Register()
}
type IRestServiceOverrides interface { Register() }
ISwaggerService Interface to perform Swagger registrations.
type ISwaggerService interface { // Perform required Swagger registration steps. RegisterOpenApiSpec(baseRoute string, swaggerRoute string) }
type InstrumentTiming struct {
// contains filtered or unexported fields
}
func NewInstrumentTiming(correlationId string, name string, verb string, logger clog.ILogger, counters ccount.ICounters, counterTiming *ccount.CounterTiming, traceTiming *ctrace.TraceTiming) *InstrumentTiming
func (c *InstrumentTiming) EndFailure(err error)
func (c *InstrumentTiming) EndSuccess()
func (c *InstrumentTiming) EndTiming(err error)
RestOperations helper class for REST operations
type RestOperations struct { Logger *clog.CompositeLogger Counters *ccount.CompositeCounters DependencyResolver *crefer.DependencyResolver }
func NewRestOperations() *RestOperations
NewRestOperations creates new instance of RestOperations
func (c *RestOperations) Configure(config *cconf.ConfigParams)
Configure method are configures this RestOperations using the given configuration parameters. Parameters:
- config *cconf.ConfigParams confif parameters
func (c *RestOperations) DecodeBody(req *http.Request, target interface{}) error
DecodeBody methods helps decode body
- req - incoming request - target - pointer on target variable for decode
Returns error
func (c *RestOperations) GetCorrelationId(req *http.Request) string
GetCorrelationId method returns CorrelationId from request Parameters:
req *http.Request request
Returns: string retrun correlation_id or empty string
func (c *RestOperations) GetFilterParams(req *http.Request) *cdata.FilterParams
GetFilterParams method retruns filter params object from request Parameters:
req *http.Request request
Returns: *cdata.FilterParams filter params object
func (c *RestOperations) GetPagingParams(req *http.Request) *cdata.PagingParams
GetPagingParams method retruns paging params object from request Parameters:
req *http.Request request
Returns: *cdata.PagingParams pagings params object
func (c *RestOperations) GetParam(req *http.Request, name string) string
GetParam methods helps get all params from query
- req - incoming request - name - parameter name
Returns value or empty string if param not exists
func (c *RestOperations) SendBadRequest(res http.ResponseWriter, req *http.Request, message string)
func (c *RestOperations) SendConflict(res http.ResponseWriter, req *http.Request, message string)
func (c *RestOperations) SendCreatedResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
func (c *RestOperations) SendDeletedResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
func (c *RestOperations) SendEmptyResult(res http.ResponseWriter, req *http.Request, err error)
func (c *RestOperations) SendError(res http.ResponseWriter, req *http.Request, err error)
func (c *RestOperations) SendInternalError(res http.ResponseWriter, req *http.Request, message string)
func (c *RestOperations) SendNotFound(res http.ResponseWriter, req *http.Request, message string)
func (c *RestOperations) SendResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
func (c *RestOperations) SendServerUnavailable(res http.ResponseWriter, req *http.Request, message string)
func (c *RestOperations) SendSessionExpired(res http.ResponseWriter, req *http.Request, message string)
func (c *RestOperations) SendUnauthorized(res http.ResponseWriter, req *http.Request, message string)
func (c *RestOperations) SetReferences(references crefer.IReferences)
SetReferences method are sets references to this RestOperations logger, counters, and connection resolver. Parameters:
- references an IReferences object, containing references to a logger, counters, and a dependency resolver.
RestService Abstract service that receives remove calls via HTTP/REST protocol.
Configuration parameters:
- base_route: base route for remote URI - dependencies: - endpoint: override for HTTP Endpoint dependency - controller: override for Controller dependency - connection(s): - discovery_key: (optional) a key to retrieve the connection from IDiscovery - protocol: connection protocol: http or https - host: host name or IP address - port: port number - uri: resource URI or connection string with all parameters in it - credential - the HTTPS credentials: - ssl_key_file: the SSL private key in PEM - ssl_crt_file: the SSL certificate in PEM - ssl_ca_file: the certificate authorities (root cerfiticates) in PEM
References:
- *:logger:*:*:1.0 (optional) ILogger components to pass log messages - *:counters:*:*:1.0 (optional) ICounters components to pass collected measurements - *:discovery:*:*:1.0 (optional) IDiscovery services to resolve connection - *:endpoint:http:*:1.0 (optional) HttpEndpoint reference
Example:
type MyRestService struct { *RestService controller IMyController } ... func NewMyRestService() *MyRestService { c := MyRestService{} c.RestService = services.NewRestService() c.RestService.IRegisterable = &c c.numberOfCalls = 0 c.DependencyResolver.Put("controller", crefer.NewDescriptor("mygroup", "controller", "*", "*", "1.0")) return &c } func (c * MyRestService) SetReferences(references IReferences) { c.RestService.SetReferences(references); resolv := c.DependencyResolver.GetRequired("controller"); if resolv != nil { c.controller, _ = resolv.(IMyController) } } func (c *MyRestService) getOneById(res http.ResponseWriter, req *http.Request) { params := req.URL.Query() vars := mux.Vars(req) mydataId := params.Get("mydata_id") if mydataId == "" { mydataId = vars["mydatay_id"] } result, err := c.controller.GetOneById( params.Get("correlation_id"), mydataId) c.SendResult(res, req, result, err) } func (c * MyRestService) Register() { c.RegisterRoute( "get", "get_mydata/{mydata_id}", &cvalid.NewObjectSchema(). WithRequiredProperty("mydata_id", cconv.String).Schema, c.getOneById) ... } service := NewMyRestService(); service.Configure(cconf.NewConfigParamsFromTuples( "connection.protocol", "http", "connection.host", "localhost", "connection.port", 8080, )); service.SetReferences(cref.NewReferencesFromTuples( cref.NewDescriptor("mygroup","controller","default","default","1.0"), controller )); opnRes := service.Open("123") if opnErr == nil { fmt.Println("The REST service is running on port 8080"); }
type RestService struct { Overrides IRestServiceOverrides //The base route. BaseRoute string //The HTTP endpoint that exposes this service. Endpoint *HttpEndpoint //The dependency resolver. DependencyResolver *crefer.DependencyResolver //The logger. Logger *clog.CompositeLogger //The performance counters. Counters *ccount.CompositeCounters // The tracer. Tracer *ctrace.CompositeTracer SwaggerService ISwaggerService SwaggerEnabled bool SwaggerRoute string // contains filtered or unexported fields }
func InheritRestService(overrides IRestServiceOverrides) *RestService
InheritRestService is create new instance of RestService
func (c *RestService) Close(correlationId string) error
Close method are closes component and frees used resources. Parameters:
- correlationId (optional) transaction id to trace execution through call chain.
Returns: error error or nil no errors occured.
func (c *RestService) Configure(config *cconf.ConfigParams)
Configure method are configures component by passing configuration parameters. Parameters:
- config *cconf.ConfigParams configuration parameters to be set.
func (c *RestService) DecodeBody(req *http.Request, target interface{}) error
DecodeBody methods helps decode body
- req - incoming request - target - pointer on target variable for decode
Returns error
func (c *RestService) GetCorrelationId(req *http.Request) string
GetCorrelationId method returns CorrelationId from request Parameters:
req *http.Request request
Returns: string retrun correlation_id or empty string
func (c *RestService) GetFilterParams(req *http.Request) *cdata.FilterParams
GetFilterParams methods helps decode filter params
- req - incoming request
Returns filter params
func (c *RestService) GetPagingParams(req *http.Request) *cdata.PagingParams
GetPagingParams methods helps decode paging params
- req - incoming request
Returns paging params
func (c *RestService) GetParam(req *http.Request, name string) string
GetParam methods helps get all params from query
- req - incoming request - name - parameter name
Returns value or empty string if param not exists
func (c *RestService) Instrument(correlationId string, name string) *InstrumentTiming
Instrument method are adds instrumentation to log calls and measure call time. It returns a Timing object that is used to end the time measurement. Parameters:
- correlationId (optional) transaction id to trace execution through call chain. - name a method name.
Returns Timing object to end the time measurement.
func (c *RestService) InstrumentError(correlationId string, name string, errIn error, resIn interface{}) (result interface{}, err error)
InstrumentError method are adds instrumentation to error handling. Parameters:
- correlationId string (optional) transaction id to trace execution through call chain. - name string a method name. - err error an occured error - result interface{} (optional) an execution result
Returns: result interface{}, err error
(optional) an execution callback
func (c *RestService) IsOpen() bool
IsOpen method checks if the component is opened. Returrns true if the component has been opened and false otherwise.
func (c *RestService) Open(correlationId string) error
Open method are opens the component. Parameters:
- correlationId string: (optional) transaction id to trace execution through call chain. Returns: error
error or nil no errors occured.
func (c *RestService) Register()
Register method are registers all service routes in HTTP endpoint.
func (c *RestService) RegisterInterceptor(route string, action func(res http.ResponseWriter, req *http.Request, next http.HandlerFunc))
RegisterInterceptor method are registers a middleware for a given route in HTTP endpoint. Parameters:
- route a command route. Base route will be added to this route - action an action function that is called when middleware is invoked.
func (c *RestService) RegisterOpenApiSpec(content string)
func (c *RestService) RegisterOpenApiSpecFromFile(path string)
func (c *RestService) RegisterRoute(method string, route string, schema *cvalid.Schema, action func(res http.ResponseWriter, req *http.Request))
RegisterRoute method are registers a route in HTTP endpoint. Parameters:
- method HTTP method: "get", "head", "post", "put", "delete" - route a command route. Base route will be added to this route - schema a validation schema to validate received parameters. - action an action function that is called when operation is invoked.
func (c *RestService) RegisterRouteWithAuth(method string, route string, schema *cvalid.Schema, authorize func(res http.ResponseWriter, req *http.Request, next http.HandlerFunc), action func(res http.ResponseWriter, req *http.Request))
RegisterRouteWithAuth method are registers a route with authorization in HTTP endpoint. Parameters:
- method HTTP method: "get", "head", "post", "put", "delete" - route a command route. Base route will be added to this route - schema a validation schema to validate received parameters. - authorize an authorization interceptor - action an action function that is called when operation is invoked.
func (c *RestService) SendCreatedResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
SendCreatedResult method are sends newly created object as JSON. That callack function call be called directly or passed as a parameter to business logic components. If object is not nil it returns 201 status code. For nil results it returns 204 status code. If error occur it sends ErrorDescription with approproate status code. Parameters:
- req a HTTP request object. - res a HTTP response object. - result (optional) result object to send - err error (optional) error objrct to send
func (c *RestService) SendDeletedResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
SendDeletedResult method are sends deleted object as JSON. That callack function call be called directly or passed as a parameter to business logic components. If object is not nil it returns 200 status code. For nil results it returns 204 status code. If error occur it sends ErrorDescription with approproate status code. Parameters:
- req a HTTP request object. - res a HTTP response object. - result (optional) result object to send - err error (optional) error objrct to send
func (c *RestService) SendError(res http.ResponseWriter, req *http.Request, err error)
SendError method are sends error serialized as ErrorDescription object and appropriate HTTP status code. If status code is not defined, it uses 500 status code. Parameters:
- req a HTTP request object. - res a HTTP response object. - error an error object to be sent.
func (c *RestService) SendResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
SendResult method method are sends result as JSON object. That function call be called directly or passed as a parameter to business logic components. If object is not nil it returns 200 status code. For nil results it returns 204 status code. If error occur it sends ErrorDescription with approproate status code. Parameters:
- req a HTTP request object. - res a HTTP response object. - result (optional) result object to send - err error (optional) error objrct to send
func (c *RestService) SetReferences(references crefer.IReferences)
SetReferences method are sets references to dependent components. Parameters:
- references crefer.IReferences references to locate the component dependencies.
func (c *RestService) UnsetReferences()
UnsetReferences method are unsets (clears) previously set references to dependent components.
StatusOperations helper class for status service
type StatusOperations struct { RestOperations // contains filtered or unexported fields }
func NewStatusOperations() *StatusOperations
NewStatusOperations creates new instance of StatusOperations
func (c *StatusOperations) GetStatusOperation() func(res http.ResponseWriter, req *http.Request)
GetStatusOperation return function for get status
func (c *StatusOperations) SetReferences(references crefer.IReferences)
SetReferences sets references to dependent components.
- references crefer.IReferences references to locate the component dependencies.
func (c *StatusOperations) Status(res http.ResponseWriter, req *http.Request)
Status method handles status requests
- req *http.Request an HTTP request - res http.ResponseWriter an HTTP response
StatusRestService is a service that returns microservice status information via HTTP/REST protocol.
The service responds on /status route (can be changed) with a JSON object:
{ - "id": unique container id (usually hostname) - "name": container name (from ContextInfo) - "description": container description (from ContextInfo) - "start_time": time when container was started - "current_time": current time in UTC - "uptime": duration since container start time in milliseconds - "properties": additional container properties (from ContextInfo) - "components": descriptors of components registered in the container }
Configuration parameters:
- baseroute: base route for remote URI - route: status route (default: "status") - dependencies: - endpoint: override for HTTP Endpoint dependency - controller: override for Controller dependency - connection(s): - discovery_key: (optional) a key to retrieve the connection from IDiscovery - protocol: connection protocol: http or https - host: host name or IP address - port: port number - uri: resource URI or connection string with all parameters in it
References:
- *:logger:*:*:1.0 (optional) ILogger components to pass log messages - *:counters:*:*:1.0 (optional) ICounters components to pass collected measurements - *:discovery:*:*:1.0 (optional) IDiscovery services to resolve connection - *:endpoint:http:*:1.0 (optional) HttpEndpoint reference
See: RestService See: RestClient
Example:
service = NewStatusService(); service.Configure(cref.NewConfigParamsFromTuples( "connection.protocol", "http", "connection.host", "localhost", "connection.port", 8080, )); opnErr:= service.Open("123") if opnErr == nil { fmt.Println("The Status service is accessible at http://localhost:8080/status"); }
type StatusRestService struct { *RestService // contains filtered or unexported fields }
func NewStatusRestService() *StatusRestService
NewStatusRestService method are creates a new instance of this service.
func (c *StatusRestService) Configure(config *cconf.ConfigParams)
Configure method are configures component by passing configuration parameters. Parameters:
- config *cconf.ConfigParams configuration parameters to be set.
func (c *StatusRestService) Register()
Register method are registers all service routes in HTTP endpoint.
func (c *StatusRestService) SetReferences(references crefer.IReferences)
SetReferences method are sets references to dependent components. Parameters:
- references crefer.IReferences references to locate the component dependencies.
type THttpRequestDetector struct { }
func (c *THttpRequestDetector) DetectAddress(req *http.Request) string
DetectAddress method are detects the IP address from which the given HTTP request was received.
- req *http.Reques an HTTP request to process. Returns the detected IP address (without a port). If no IP is detected -
nil will be returned.
func (c *THttpRequestDetector) DetectBrowser(req *http.Request) string
Detects the browser (using "user-agent") from which the given HTTP request was made.
- req *http.Reques an HTTP request to process. Returns the detected browser. Detectable browsers: "chrome", "msie", "firefox",
"safari". Otherwise - "unknown" will be returned.
func (c *THttpRequestDetector) DetectPlatform(req *http.Request) string
DetectPlatform method are detects the platform (using "user-agent") from which the given HTTP request was made.
- req *http.Request an HTTP request to process. Returns the detected platform and version. Detectable platforms: "mobile", "iphone", "ipad", "macosx", "android", "webos", "mac", "windows". Otherwise - "unknown" will
be returned.
func (c *THttpRequestDetector) DetectServerHost(req *http.Request) string
DetectServerHost method are detects the host name of the request"s destination server.
- req *http.Request an HTTP request to process. Returns the destination server"s host name.
func (c *THttpRequestDetector) DetectServerPort(req *http.Request) string
DetectServerPort method are detects the request"s destination port number.
- req *http.Request an HTTP request to process. Returns the detected port number or <code>80</code> (if none are detected).
type THttpResponseSender struct { }
var HttpResponseSender THttpResponseSender = THttpResponseSender{}
func (c *THttpResponseSender) SendCreatedResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
SendCreatedResult are sends newly created object as JSON. That function call be called directly or passed as a parameter to business logic components. If object is not nil it returns 201 status code. For nil results it returns 204 status code. If error occur it sends ErrorDescription with approproate status code. Parameters:
- req *http.Request a HTTP request object. - res http.ResponseWriter a HTTP response object.
func (c *THttpResponseSender) SendDeletedResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
SendDeletedResult are sends deleted object as JSON. That function call be called directly or passed as a parameter to business logic components. If object is not nil it returns 200 status code. For nil results it returns 204 status code. If error occur it sends ErrorDescription with approproate status code. Parameters:
- req *http.Request a HTTP request object. - res http.ResponseWriter a HTTP response object.
func (c *THttpResponseSender) SendEmptyResult(res http.ResponseWriter, req *http.Request, err error)
SendEmptyResult are sends an empty result with 204 status code. If error occur it sends ErrorDescription with approproate status code.
- req *http.Request a HTTP request object. - res http.ResponseWriter a HTTP response object.
func (c *THttpResponseSender) SendError(res http.ResponseWriter, req *http.Request, err error)
SendError sends error serialized as ErrorDescription object and appropriate HTTP status code. If status code is not defined, it uses 500 status code. Parameters:
- req *http.Request a HTTP request object. - res http.ResponseWriter a HTTP response object. - err error an error object to be sent.
func (c *THttpResponseSender) SendResult(res http.ResponseWriter, req *http.Request, result interface{}, err error)
SendResult sends result as JSON object. That function call be called directly or passed as a parameter to business logic components. If object is not nil it returns 200 status code. For nil results it returns 204 status code. If error occur it sends ErrorDescription with approproate status code. Parameters:
- req *http.Request a HTTP request object. - res http.ResponseWriter a HTTP response object. - result interface{} result object to be send - err error an error object to be sent.


at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
at
BPM
see also: tempo calculator (beta)


"x" "1" "HUSSAIN,SS, AL-DAKAN,AA, ABOUL-ENEIN,HY AND HANNAN,MA, DNA STRANDBREAKS AND MUTATIONS CAUSED BY PENBUTOLOL, A BETA BLOCKER, MUTAT. RES.204(4):675-682, 1988"


What I’m Doing Now
By Paul
I’m in Davis, California, focusing on these things:
- Being a husband & dad — reading & working out with my kids, dates with my wife
- Creating a Deeper Into Mindfulness video course for my Sea Change Program
- Creating a new video course called Dealing with Struggles
- Creating the Zen Habits Mindfulness Retreat (April 21-23 in San Francisco)
- Developing a new habit app
- Writing articles for Zen Habits
- Hiking, running, strength training, meditating, eating healthy vegan food
These are my priorities. I say no to everything else: conferences, speaking engagements, promoting anything, new projects.
If you have feedback or suggestions for posts, email [email protected]
Last update: February 15, 2017. (Page inspired by Derek Sivers.)


AudioPlaylistComposition
public struct AudioPlaylistComposition
This denotes the styling of the AudioPlaylistComponent
.
Example view of component:
-
The progress font is displayed on both ends of the progress bar. The font should remain small. Default value: System font of size 8, color: #FFFFFF
Declaration
Swift
public var progressTimesFont: FontComposition
-
This denotes the background color of the progress view.
This section is not filled nor awaiting progress.
Default value: #FFFFFF, alpha 0.5Declaration
Swift
public var progressViewBackgroundColor: UIColor
-
This denotes the color of the progress bar.
The progress bar is shown while a song is playing.
Default value: #FFFFFFDeclaration
Swift
public var progressViewTintColor: UIColor
-
If available, this denotes the song title that is displayed.
It is fetched from the mp3 IDv3 tag and is NOT a file name. Whenever the mp3 has not been given a title, the title field will remain empty.
Default value: System font of size 12, color: #FFFFFFDeclaration
Swift
public var title: FontComposition
-
This denotes the album name, which is displayed when available.
It is fetched from the mp3 IDv3 tag and is NOT a file name. Whenever the mp3 has not been given a title, the title field will remain empty.
Default value: System font of size 10, color: #FFFFFFDeclaration
Swift
public var subtitle: FontComposition
-
This denotes the playlist track list view.
It will displayed on a track list as the title of a cell. The value will be the title of a song from the IDv3 tag of the mp3 file. Default value: System font of size 12, color: #0C1E3DDeclaration
Swift
public var playlistTitle: FontComposition
-
This denotes the playlist subtitle in the track list view.
It will displayed on a track list as the title of an album from IDv3 tag of the mp3 file. Default value: System font of size 10, color: #0C1E3DDeclaration
Swift
public var playlistSubtitle: FontComposition
-
Accessory view of a cell.
It will be displayed on a track list as accessory view and will be filled with duration of mp3 track. Default value: System font of size 10, color: #0C1E3DDeclaration
Swift
public var playlistDuration: FontComposition
-
This denotes the tint color of a playlist.
Whenever a selection in the playlist has taken place it will be marked using this color.
Default value: #0061D6Declaration
Swift
public var playlistTintColor: UIColor
-
The “not-selected” color in the playlist.
Whenever something is not selected in the playlist, it will be shown in this color. Customized font colors will override this setting.
Default value: #0C1E3DDeclaration
Swift
public var playlistNormalColor: UIColor
-
The default composition for
AudioPlaylistComposition
Check the variables declaration to receive the default values for every parameter.Declaration
Swift
public static let defaultComposition: AudioPlaylistComposition


Protanopia
Deuteranopia
Tritanopia
Full Color Blind
Standard
Near-Sightedness
0
Personalized Color Assistance
0


import {BadgeModule} from 'freeng/freeng';
<free-badge content="9"></free-badge>
<free-badge content="9" [outline]="true"></free-badge>
<free-badge content="9" [circle]="false"></free-badge>
<free-badge content="9" [circle]="false" [outline]="true"></free-badge>
<a>
<free-icon icon="bell"></free-icon>
<free-badge content="1" [up]="true"></free-badge>
</a>
<button fButton>
{{'COMPONENT.BADGE' | translate}}
<free-badge content="9"></free-badge>
</button>
<free-badge content="1" [outline]="true"></free-badge>
<free-badge content="1" [theme]="'primary'"></free-badge>
<free-badge content="1" [theme]="'info'"></free-badge>
<free-badge content="1" [theme]="'warning'"></free-badge>
<free-badge content="1" [theme]="'danger'"></free-badge>
<free-badge content="1" [theme]="'success'"></free-badge>


COPYRIGHT COMPLAINTS AND DESIGNATED COPYRIGHT AGENT THIS NOTICE IS SUBJECT TO MODIFICATION OR TERMINATION AT ANY TIME, WHETHER FOR CHANGES IN THE LAW OR AT THE CONVENIENCE OF VPN.ht, WITHOUT ADVANCE NOTICE.
Pursuant to the Digital Millennium Copyright Act, Title 17, United States Code, Section 512(c), a copyright owner or its authorized agent ("Complainant") may submit a notification alleging copyright infringement to VPN.ht Designated Copyright Agent if Complainant has a good-faith belief that its works are being infringed by material subject to VPN.ht control. To file a notice of infringement with us, you must provide a written communication (by fax or regular mail -- not by email, except by prior agreement) that sets forth the items specified below. Please note that you will be liable for damages (including costs and attorneys' fees) if you materially misrepresent that a product or activity is infringing your copyrights.
VPN.ht will investigate proper notifications sent, please review the steps below:
1.) Identify in sufficient detail the copyrighted work that you believe has been infringed upon.
2.) Identify the material that you claim is infringing the copyrighted work listed in item #1 above.
3.) Provide information reasonably sufficient to permit VPN.ht to contact you (email address is preferred).
4.) Provide information, if possible, sufficient to permit VPN.ht to notify the owner/administrator of the allegedly infringing webpage or other content (email address is preferred).
5.) Include the following statement: "I have a good faith belief that use of the copyrighted materials described above as allegedly infringing is not authorized by the copyright owner, its agent, or the law."
6.) Include the following statement: "I swear, under penalty of perjury, that the information in the notification is accurate and that I am the copyright owner or am authorized to act on behalf of the owner of an exclusive right that is allegedly infringed."
7.) Sign the paper.
8.) Send the written communication to the following address:
The administrator of an affected site or the provider of affected content may make a counter notification pursuant to sections 512(g)(2) and (3) of the Digital Millennium Copyright Act. When we receive a counter notification, we may reinstate the material in question.
To file a counter notification with us, you must provide a written communication (by fax or regular mail -- not by email, except by prior agreement) that sets forth the items specified below. Please note that you will be liable for damages (including costs and attorneys' fees) if you materially misrepresent that a product or activity is not infringing the copyrights of others. Accordingly, if you are not sure whether certain material infringes the copyrights of others, we suggest that you first contact an attorney. A sample counter notification may be found by clicking here.
To expedite our ability to process your counter notification, please use the following format (including section numbers):
1.) Identify the specific URLs or other unique identifying information of material that VPN.ht has removed or to which VPN.ht has disabled access.
2.) Provide your name, address, telephone number, email address, and a statement that you consent to the jurisdiction of Federal District Court for the judicial district in which your address is located (or Santa Clara County, California if your address is outside of the United States), and that you will accept service of process from the person who provided notification under subsection (c)(1)(C) or an agent of such person.
3.) Include the following statement: "I swear, under penalty of perjury, that I have a good faith belief that each search result, message, or other item of content identified above was removed or disabled as a result of a mistake or misidentification of the material to be removed or disabled, or that the material identified by the complainant has been removed or disabled at the URL identified and will no longer be shown."
4.) Sign the paper.
5.) Scan and send the written communication to the following email address: support@vpn.ht


Priest Adonius:
Oh, thank you! The site of the massacre is on the south shore of Gludio. Please find and return the remains of Priestess Agnes so that we can give her a proper burial.
Please, bring us her crucifix and rosary.
Now please be off, time is of the essence...


Geometry classes and factories
Returns a rectangular polygon with configurable normal vector
Returns a new, independent geometry with coordinates copied from the context.
Adapts the context to a geometry interface. The coordinates remain stored in the context.
A zero dimensional feature
A point has zero length and zero area.
>>> p = Point(1.0, -1.0)
>>> print p
POINT (1.0000000000000000 -1.0000000000000000)
>>> p.y
-1.0
>>> p.x
1.0
Provide the Numpy array protocol.
Access to geometry’s coordinates (CoordinateSequence)
Return x coordinate.
Separate arrays of X and Y coordinate values
Example:
>>> x, y = Point(0, 0).xy
>>> list(x)
[0.0]
>>> list(y)
[0.0]
Return y coordinate.
Return z coordinate.
Adapt an object to the Point interface
A one-dimensional figure comprising one or more line segments
A LineString has non-zero length and zero area. It may approximate a curve and need not be straight. Unlike a LinearRing, a LineString is not closed.
Provide the Numpy array protocol.
Access to geometry’s coordinates (CoordinateSequence)
Returns a LineString or MultiLineString geometry at a distance from the object on its right or its left side.
Distance must be a positive float value. The side parameter may be ‘left’ or ‘right’. The resolution of the buffer around each vertex of the object increases by increasing the resolution keyword parameter or third positional parameter.
The join style is for outside corners between line segments. Accepted values are 1 => ROUND, 2 => MITRE, 3 => BEVEL.
The mitre ratio limit is used for very sharp corners. It is the ratio of the distance from the corner to the end of the mitred offset corner. When two line segments meet at a sharp angle, a miter join will extend far beyond the original geometry. To prevent unreasonable geometry, the mitre limit allows controlling the maximum length of the join corner. Corners with a ratio which exceed the limit will be beveled.
Separate arrays of X and Y coordinate values
Example:
>>> x, y = LineString(((0, 0), (1, 1))).xy
>>> list(x)
[0.0, 1.0]
>>> list(y)
[0.0, 1.0]
Adapt an object the LineString interface
A two-dimensional figure bounded by a linear ring
A polygon has a non-zero area. It may have one or more negative-space “holes” which are also bounded by linear rings. If any rings cross each other, the feature is invalid and operations on it may fail.
Adapt objects to the Polygon interface
A collection of one or more points
A MultiPoint has zero area and zero length.
Provide the Numpy array protocol.
Adapt a sequence of objects to the MultiPoint interface
A collection of one or more line strings
A MultiLineString has non-zero length and zero area.
Adapts a sequence of objects to the MultiLineString interface
A collection of one or more polygons
If component polygons overlap the collection is invalid and some operations on it may fail.
Adapts a sequence of objects to the MultiPolygon interface
A heterogenous collection of geometries
Returns a GeoJSON-like mapping


b e a t r i c e a i s p u r o |
10.07.11 |
|||
| Dear Hiring Manager, I am interested in applying for the Web Design position with Adly. I have vast experience in everything related to the web: creating banner ad campaigns, conducting usability testing, developing new information architecture, wireframing, designing, building, and marketing websites. With a strong sense of visual and interaction design, I am highly skilled at creating simple, elegant, and intuitive interfaces based on user-centered design principles. Throughout my fifteen-year career, I have been involved in the planning and management of hundreds of outstanding design and outreach projects. I have extensive experience designing print and web collateral and re-branding corporate identities. In addition to superior research and analytical skills, I am capable of managing multiple projects and delivering quality work while meeting deadlines successfully. As the first webmaster and designer at Caltech, I collaborated extensively with staff and faculty in creating and developing promotional material, both online and in print. I served as designer and editor of the original Caltech Alumni Newsletter, supervised staff and also taught classes in design. Also, as a native Spanish speaker, I translated documents and facilitated bilingual discussions for geologists conducting research in Mexico. I translated several storefront sites (MLB/Copeland's/Victory) into Spanish. I am extremely
well-organized, resourceful, proactive, and energetic. I
have always enjoyed being a part of collaborative projects, and I feel
that I could contribute a lot of energy and enthusiasm toward the work
assigned me. I believe my web skills, my project management experience,
and my design sense as it applies to typography, photography and creative
imagery will be a valuable asset to your group. In
addition, I can translate company collateral into Spanish, which
greatly expands a target audience. My journalism background has
given me an excellent eye for editing, both in English and Spanish. Thanks again for your time. I look forward
to hearing from you soon. Sincerely, |
||||
| :: cv :: LinkedIn profile
|
|
|||


The Core Jetty project has been fully instrumented with JMX, including MBeans for:
JMX instrumentation makes it easy to integrate Jetty management into standards based managment system of your J2EE server and/or application. The Jetty MBeans are moving towards providing key parts of JSR 77 - J2EE Management.The JMX classes are included in the main jetty source tree and are built if a JMX implementation can be found (The reference implementation is included in the ext directory). To start the JMX version of Jetty use:
java -Dmain.class=org.mortbay.xml.XmlConfiguration -jar start.jar etc/jetty-jmx.xmlThe Jetty demo can be run as JMX enabled with:
java -Dmain.class=org.mortbay.xml.XmlConfiguration -jar start.jar etc/demo-jmx.xmlBy default, the mx4j MBean agent is run at http://localhost:8082.


[gecode-users] Memory problem
Guido Tack
tack at ps.uni-sb.de
Thu Aug 28 08:20:36 CEST 2008
Gustavo Gutierrez wrote:
> After trying the same problem occurs. Is there a way to instrument
> gecode to use a different allocator for memory?, i mean, something
> similar to STL in which many of the data structures provided take an
> optional allocator template parameter.
All allocation in Gecode happens through the functions in gecode/
support/memory.icc. You could try replacing the calls
to ::malloc, ::realloc, and ::free there.
Cheers,
Guido
More information about the gecode-users
mailing list


We pick the 10 stocks that have the lowest P/E ratio in our universe, at the beginning of each year, and we invest an equal amount of capital in each stock.
To construct the universe, first, we eliminate stocks which don't have fundamental data and
stocks that have a lower price than $5 per share, using the CoarseSelectionFunction
.
def CoarseSelectionFunction(self, coarse): if self.Time.year == self.year: return self.symbols # drop stocks which have no fundamental data or have low price CoarseWithFundamental = [x for x in coarse if x.HasFundamentalData and x.Price > 5] sortedByDollarVolume = sorted(CoarseWithFundamental, key=lambda x: x.DollarVolume, reverse=False) return [i.Symbol for i in sortedByDollarVolume[:self._NumCoarseStocks]]
Then, in the FineSelectionFunction
, we retrieve the list of 10 stocks, that have the lowest P/E ratio.
def FineSelectionFunction(self, fine): if self.Time.year == self.year: return self.symbols self.year = self.Time.year fine = [x for x in fine if x.ValuationRatios.PERatio > 0] sortedPERatio = sorted(fine, key=lambda x: x.ValuationRatios.PERatio) self.symbols = [i.Symbol for i in sortedPERatio[:self._NumStocksInPortfolio]] return self.symbols
In OnData()
, we buy the 10 stocks that have the lowest P/E ratio in our universe. We rebalance the portfolio at the beginning of each year.


Use '[:upper:]' to support accents and foreign alphabets.
See the equivalent warning for lowercase matching: [[SC2018]]


Partitioned Parallelism
If service goals mandate high throughput, it is useful to have the ability to distribute event storage as well as event production and consumption for parallel processing. Being able to distribute events and process them concurrently enables an application to scale.
Problem
How can we allocate events across Event Streams and Tables so that they can be processed concurrently by distributed Event Processors?
Solution
We should use a partitioned event stream, and then assign the events to different partitions of the stream. Essentially, a partition is a unit of parallelism for storage as well as reading, writing, and processing events. Partitioning helps concurrency and scalability in these main ways:
- Platform scalability: enables different Event Brokers to store and serve Events to Event Processing Applications concurrently
- Application scalability: enable different Event Processing Applications to process Events concurrently
Partitioning events also impacts application semantics: placing events into a given partition guarantees that the ordering of events is preserved, per partition (but typically not across different partitions of the same stream). This ordering guarantee is crucial for many use cases as, very often, the sequencing of events matters, e.g., when processing retail orders (an order must be paid before it can be shipped).
Implementation
With Apache Kafka®, streams (called topics) are created either by an administrator or by a streaming application like ksqlDB. The number of partitions is specified at the time the topic is created. For example:
ccloud kafka topic create myTopic --partitions 30
Events are placed into a specific partition according to the partitioning algorithm of the Event Source, such as an Event Processing Application. All events assigned into the same partition have strong ordering guarantees.
The common partitioning schemes are:
- Partitioning based on the event key (e.g., the customer ID for a stream of customer payments), where events with the same key are stored in the same partition
- Partitioning events round-robin across all partitions to achieve an even distribution of events per partition
- A custom partitioning algorithm, tailored to a specific use case.
If we are using a Kafka-based technology such as a Kafka Streams application or the streaming database ksqlDB, the processors can scale by working on a set of partitions concurrently and in distributed manner.
If an event stream's key content changes because of how the query wants to process the rows, for example to execute a JOIN
operation in ksqlDB between two streams of events, the underlying keys are recalculated, and the events are sent to a new partition in the new topic to perform the computation (this internal operation is often called distributed data shuffling).
CREATE STREAM stream_name
WITH ([...,]
PARTITIONS=number_of_partitions)
AS SELECT select_expr [, ...]
FROM from_stream
PARTITION BY new_key_expr [, ...]
EMIT CHANGES;
Considerations
In general, a higher number of stream partitions results in higher throughput, and to maximize throughput, we want enough partitions to utilize all distributed instances of an Event Processor (e.g., servers in a ksqlDB cluster). Be sure to choose the partition count carefully based on the throughput of Event Sources (e.g., producers in Kafka, including connectors), Event Processors (e.g., ksqlDB, Kafka Streams applications), and Event Sinks (e.g., consumers in Kafka, including connectors), and to benchmark performance in the environment. Also take into consideration the design of data patterns and key assignments so that events are distributed as evenly as possible across the stream partitions. This will prevent certain stream partitions from getting overloaded relative to other stream partitions. See Streams and Tables in Apache Kafka: Elasticity, Fault Tolerance, and Other Advanced Concepts for further details on understanding and dealing with partition skew.
References
- The blog post How to choose the number of topics/partitions in a Kafka cluster provides helpful guidance for selecting partition counts for your topics.
- For another approach to processing parallelism that subdivides the unit of work from a partition down to an event or an event key, see the Confluent Parallel Consumer for Kafka.


San Francisco, California
Bookings
Reviews
Flexible and Easy to Use
You can direct to multiple languages of your page.


Tycus
Rating: 0 on 4 stars
The Info
Directed by: John Putch Written by: Kevin Goetz, Michael Goetz Starring: Dennis Hopper, Peter Onorati, Finola Hughes Produced by: Ashok Amritraj, Elie Samaha, Andrew Stevens
The Basic Plot
When a physicist's discovery of a comet hurtling towards Earth is ignored, he builds an underground city with which to save a portion of humanity.
The Review
Tycus is the fourth film about the end of the planet due to an interstellar collision to be released in the last two years. Armageddon, the most financially successful of the four disaster films, was silly, but with a suspension of reason made for an enjoyable film. Deep Impact was written like a soap opera, but contained enough special effects to make it passable. Last Night, the little-seen effort by Canadian Don McKellar, contained virtually no effects, focusing more on the subtle relationships between family and friends during Earth's last night. While intelligently written, it is perhaps a bit too calm and sensible. There is a very obvious reason as to why Tycus was the only one of the four never to make it to theatres. The Goetzes have written a cliché-ridden, implausible script which when combined with John Putch's boring direction makes Tycus a must-miss, even for fans of outer space/disaster films.
The crisis is very similar to those of the other aforementioned films. A giant object (in this case a comet) is on a collision course with the moon, threatening the safety of every living thing on Earth. The main difference in storyline is that in Armageddon and Deep Impact, the American government knew about it ahead of time, and took steps to counter the threat. In Tycus, a physicist, Dr. Peter Crawford (Hopper), discovers the comet and its lethal trajectory, and alerts the scientific community. Alas, no one agrees with his calculations, and the threat is forgotten. Instead of continuing to try to convince the world that he is right (and he is of course), Crawford goes off and builds himself an underground city that will house a small portion of the human population until the above-ground problems have passed. A former combat photog turned tabloid newsman, Jake Lowe, gets a strange scoop on the city and the comet from a friend on the inside, and goes undercover to investigate. The film's inevitable climax is neither thrilling nor horrific; the film's special effects are so poor that any attempt at excitement is lost on an audience used to state-of-the-art pyrotechnics.
Countless clichés are found in the script for Tycus. There is Jake's troubled marriage to wife Amy; Jake leaves her to start his mission without a kiss goodbye. As he leaves, Amy starts to say "I love you" but is to late. Jake has one particular monologue in which he questions Crawford's decision to choose who gets to survive in his city; it is almost painful to listen to, it is so cliched. There should be a law that forbids phrases like "What gives you the right to choose?" and "You are playing God!" from ever again appearing on film. Everything about the film, from Dennis Hopper's "I've been doing this stuff for decades, I'll get it on the first take" lack of emotion in Crawford, to the cheap, obvious bloodpacks that pop whenever a character gets shot, to the cheap, original-Star Trek-era computer screens that are supposedly "so expensive that even the government doesn't know what we know" make Tycus a failure.
Tim Chandler
for more revies, check out The Bottom Line at http://www.geocities.com/Hollywood/Heights/8000/index.html
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


Dev Bootcamp Technical Blog
Brian Anthony Junio
Week 1 - Favorite Sites
Identify three of your favorite websites.
1. Reddit
I really enjoy the user driven content contained on this site. It has a challenge of displaying a great amount of text without completely overwhelming the user. Their approach seems to pull this off as best they can. The lack of flashy colors aides them in delivering their content without creating stress on the user's eyes. Having sub sections allowing the user to tune the content displayed on the front page to their interests is a very sharp feature.
2. Google
Oh Google... where would we be without you? The problem they solve is the world's desire to manipulate big data in many creative ways. Curious what someone's driveway in the Netherlands looks like? No problem. Need to gather intel on your desired user base to maximize profits? Pfft, look no further. Google provides a window to the world and is always looking to expand the horizon.
3. Youtube
I seem to like user driven sites. Much like Reddit, the content contained on Youtube is a mix match of original and reposted submissions. As much as I enjoy searching for particular videos, the onslaught of random frames and colors makes me sad. I find myself looking through the site to focus on the very specific sections that appeal to me.


Imix
Huge elemental, neutral evil
Armor Class 17
Hit Points 325 (26d12+156)
Speed 50 ft., fly 50 ft.
| STR | DEX | CON | INT | WIS | CHA |
|---|---|---|---|---|---|
| 19 (+4) | 24 (+7) | 22 (+6) | 15 (+2) | 16 (+3) | 23 (+6) |
Saving Throws Dex +14, Con +13, Cha +13
Damage Resistances bludgeoning, piercing, and slashing from nonmagical weapons
Damage Immunities fire, poison
Condition Immunities charmed, frightened, paralyzed, petrified, poisoned, prone, restrained
Senses blindsight 120 ft.
Languages Common, Ignan
Challenge 19 (22,000 XP)
Empowered Attacks. Imix’s slam attacks are treated as magical for the purpose of bypassing resistance and immunity to nonmagical weapons.
Fire Aura. At the start of each of Imix’s turns, each creature within 10 feet of him takes 17 (5d6) fire damage, and flammable objects in the aura that aren’t being worn or carried ignite. A creature also takes 17 (5d6) fire damage if it touches Imix or hits him with a melee attack while within 10 feet of him, and a creature takes that damage the first time on a turn that Imix moves into its space. Nonmagical weapons that hit Imix are destroyed by fire immediately after dealing damage to him
Fire Form. Imix can enter a hostile creature’s space and stop there. He can move through a space as narrow as 1 inch without squeezing if fire could pass through that space.
Illumination. Imix sheds bright light in a 60-foot radius and dim light for an additional 60 feet.
Legendary Resistance (3/Day). If Imix fails a saving throw, he can choose to succeed instead.
Innate Spellcasting. Imix’s innate spellcasting ability is Charisma (spell save DC 20, +12 to hit with spell attacks). He can innately cast the following spells, requiring no material components:
-
At will: fireball, wall of fire
-
3/day each: fire storm, haste, teleport
Magic Resistance. Imix has advantage on saving throws against spells and other magical effects.
Actions
Multiattack. Imix makes two slam attacks or two flame blast attacks.
Slam. Melee Weapon Attack: +12 to hit, reach 10 ft., one target. Hit: 18 (2d10 + 7) bludgeoning damage plus 18 (5d6) fire damage.
Flame Blast. Ranged Spell Attack: +12 to hit, range 250 ft., one target. Hit: 35 (10d6) fire damage.
Summon Elementals (1/Day). Imix summons up to three fire elementals and loses 30 hit points for each elemental he summons. Summoned elementals have maximum hit points, appear within 100 feet of Imix, and disappear if Imix is reduced to 0 hit points.
Legendary Actions
The imix can take 3 legendary actions, choosing from the options below. Only one legendary action option can be used at a time, and only at the end of another creature’s turn. The imix regains spent legendary actions at the start of its turn.
Heat Wave. Imix creates a blast of heat within 300 feet of himself. Each creature in the area in physical contact with metal objects (for example, carrying metal weapons or wearing metal armor) takes 9 (2d8) fire damage. Each creature in the area that isn’t resistant or immune to fire damage must make a DC 21 Constitution saving throw or gain one level of exhaustion.
Teleport (Costs 2 Actions). Imix magically teleports up to 120 feet to an unoccupied space he can see. Anything Imix is wearing or carrying isn’t teleported with him.
Combustion (Costs 3 Actions). Imix causes one creature he can see within 30 feet of him to burst into flames. The target must make a DC 21 Constitution saving throw. On a failed save, the target takes 70 (20d6) fire damage and catches fire. A target on fire takes 10 (3d6) fire damage when it starts its turn, and remains on fire until it or another creature takes an action to douse the flames. On a successful save, the target takes half as much damage and doesn’t catch fire.


--- layout: none title: "WLAB GM" permalink: /presentations/wlab/08-07-2019 date: 2019-08-07 categories: presentations ---
100 ps
150 ps
200 ps
250 ps


←
Home
Archive
About
Subscribe
Giorgio Dell'Immagine
Computer science student, math and logic enthusiast, GNU/linux user and clarinet player.
2021
Sep 17
Non refutation of the law of excluded middle in intuitionistic logic
2020
Feb 6
A simple Hoare triple prover


We care about our community and try to make contribution to it through the facilities of cyber world. We are dedicated in giving the clear points of local environment issues and the story of district revolution. Last, we could bring out some good points and knowledge to attract more people to participate in community construction.
Besides searching information on the Internet, we go to Cambridge in person to interview the people concerning the event, including school coaches, director of Taichung canoe association, chief of the third River Management Bureau, and city councilman and visitors.
| Items | Usage | Provide |
|---|---|---|
| Table computer/Laptop | Website making, information gathering, video editing. | School, all members. |
| Recorder(cellphone) | Recording interview conversation. | All members. |
| Cellphone | member contacting, investigating | All members |
| Digital camera | Filming interview, group meeting, action process. | President of canoe association, teacher, all members. |
| USB | Saving photos, exchanging information. | All members. |
| Optical network, Broadband network | Uploading and downloading software、searching information, member contacting. | School, all members. |
| Hard drive | Data backup and saving. | All members |
| WindowsXP、Windows7、Windows8、Windows10、macOS HighSierra | School computer and computer system of each member | School, all members. |
| Microsoft Office 2007、2010、2016 | Interview content, meeting records, information and website content writing organizing | School, all members. |
| Adobe Dreamweaver CC 2018 | Website making and editing. | School, all members. |
| Facebook、Messenger、Gmail | Teachers and members contacting. | School, all members. |
| Google Drive | Saving profiles. | School, all members. |
| Google Documents | Editing documents. | School, all members. |
Before we joined in this plan about studying Cambridge environment issue, we seldom paid attention to the surroundings or cared about the environmental facilities of our hometown. Not until we got indulged in the subject did we come to understand the local construction of sanitary sewers. How could Taiwan, an economically prosperous place, bear a so badly-organized sanitary sewers system? We were also touched by so many people who sacrificed their time and lives to make our city a better one.
Following are the key members who support our project:
A.
Ms. Lin was originally a parent of a student of our school. She started to care
about canoeing because her daughter fell in love with a canoe player. After she
knew more and more difficulties of the players, she began to help find a better
place for them to practice. Eventually, she now becomes the Director of Canoe
Association in our city and the key person to make the completion of Cambridge come
true. What a romantic story!
B.
Mr. Lin is the chief of Yong Long Village. He held a lot of water activities in
Cambridge for citizens to get close to the river. These acts tremendously boosted
the happiness of local people and the economy of the community.
C.
City councilmen Mr. Chang is an important person in promoting the Cambridge
improvement program. To obtain the funds of the central government and get the
construction done, he spared no effort and made tremendous contribution.
D.
Mr. Yung is the Chief of Third River Bureau of the Water Conservancy Department. In
the whole Cambridge plan, the bureau is responsible for flood control project
planning, and plays an important role as an agent communicating with the public.。
When using other people's data, we are aware of following the laws instead of violating their rights. Therefore, when we retrieve data, we will mark the reference data source. We believe that to value intellectual property can make the world a better one.
We search the network of people to find the key persons of the project. And then we personally interview them. We also participated in the Cambridge Carnival promoted by the Chief of Yong Long Village in order to take a deep look into the community.
The people we interviewed are some senior officials or important people in society. In addition to showing politeness, we find that these characters are very warm-hearted. Moreover, they are happy to make efforts to make our environment better whether by giving their time or money. Now they all become our role models.
Besides, because the exams are coming up when we were doing the project, we needed to arrange time efficiently. In conclusion, we learn not only knowledge but also the real spirit of a hero, which will guide us to become better citizens in the future.


Hello
i recently download latest version of emoncms that is may be V.7.0 which works on Redis technology.
i do procedure as shown in installation procedure...but when i tried to load http://localhost/emoncms
i got error
"Can't connect to redis database, phpredis is not installed, see readme for redis installation"
I lookout too much on internet for solving this error but could not find it. i do installation of php_redis.dll and php.igbinary.dll
in php.ini but still same error.
pleas help me out...thanks
Re: Phpredis not installed...check README document for installation
Hello epsilon, I have not yet tested the installation of emoncms 7 on windows but this may be useful:
https://github.com/nicolasff/phpredis/issues/213#issuecomment-11361242
and there appears to be pre compiled binaries here:
http://char101.github.io/phpredis/
is this what you used?
you may need to restart apache2 at the end.
Re: Phpredis not installed...check README document for installation
I also have the same error
Re: Phpredis not installed...check README document for installation
facing the same issue!!
Help requried!!
Re: Phpredis not installed...check README document for installation
me too
Re: Phpredis not installed...check README document for installation
Is everyone facing the same issue on windows? If your using linux, have a raspberrypi install these are the steps you need from the readme:
To upgrade you will need redis server installed and the phpredis client:
sudo apt-get install redis-server
sudo pecl install redis
Add pecl redis module to php5 config
sudo sh -c 'echo "extension=redis.so" > /etc/php5/apache2/conf.d/20-redis.ini'
sudo sh -c 'echo "extension=redis.so" > /etc/php5/cli/conf.d/20-redis.ini'
If anyone is a windows wiz and can help with emoncms installation there that would be greatly appreciated by a lot of people Im sure. Timestore installation is still an outstanding issue I think on windows too.
Re: Phpredis not installed...check README document for installation
+1 on this error on Windows 7
I'm happy to investigate (though I'm not sure about the 'wiz' part :) ).
Can you provide some pointers, such as
- what is redis? what does it do? is it part of Apache?
- more info on Timestore issues to date. I assume this will be the next error!
Re: Phpredis not installed...check README document for installation
Not trying to hijack the thread but just flagging that timestore installation is also an issue on Mac OS X.
Re: Phpredis not installed...check README document for installation
Hmm... Further investigation shows that for Windows (I'm on Win7) users:
Redis doesn't have a good Win7 version (http://redis.io/download). The binaries mentioned above are for the client.
Timestore appears *nix only, (although says it's in C, but only a make file, no Win7 binaries)
This appears to me to be a show-stopper for Win7 hosting, as Timestore appears integral to EMS. However, OEM has Win7 instructions for installation, so it clearly used to work (?).
Any background / input is much appreciated, as I'm doing a lot of guessing here.
Re: Phpredis not installed...check README document for installation
Thanks for taking a look Brett, There appears to be a redis server .exe here https://github.com/MSOpenTech/redis which is the one linked from the download's page. Not sure if it will work though.
Timestore is not integral to emoncms as its still possible to use the mysql feed engine and the phptimeseries feed engine which have both been tested to work but from a features and performance perspective it would be cool to get it to work. It should theoretically be compilable but it may take some digging to work out how.
The current install documentation for emoncms was written for version 5 before timestore and redis.
If redis can be ran on win7 then at least emoncms will run and be useable with the other feed engines.
Re: Phpredis not installed...check README document for installation
Same here, windows 7, asks for php_redis.
I would really like to get this software up and running. If anyone can test it out and provide detailed instructions on how to get redis working on windows following the WAMP install that would be beneficial. I have gotten so far as to verify all previously posted suggestions do not work. Unfortunately (as with most users) *inx programming and command line skills are unavailable.
Is there a work around such as disabling the need for redis?
I will watch this thread for a viable solution.
Re: Phpredis not installed...check README document for installation
Probably the easiest way to get emoncms up and running without redis is to use version 6.9 the pre-redis release https://github.com/emoncms/emoncms/releases/tag/v6.9
It may well be possible to modify emoncms to have a settings option to enable redis and otherwise fall back on mysql, thats a thought.
Re: Phpredis not installed...check README document for installation
Solution: This worked for me.
Ensure that make in installed (sudo apt-get install make)
1. sudo apt-get install php-pear
2. sudo apt-get install php5-dev
3. sudo apt-get install libcurl3-openssl-dev
4. sudo pecl install redis
sudo sh -c 'echo "extension=redis.so" > /etc/php5/apache2/conf.d/20-redis.ini'
sudo sh -c 'echo "extension=redis.so" > /etc/php5/cli/conf.d/20-redis.ini'
The above will allow you to launch the emoncms website and log on.
:)
Re: Phpredis not installed...check README document for installation
I am having the above issue on what was a working installation.
I did a clean install on a ubuntu 12 server and all was great and working as it should be. A distribution upgrade to 13.10 seems to have broken the install.
Going to my server now results in the phpredis issue and I have re followed the instructions for making redis work and the instructions above and without luck. Its still not working even after a complete server restart since the upgrade and testing.
Any ideas?
Cheers
Ja
Re: Phpredis not installed...check README document for installation
Had something similar. After apt-get upgrade, the website failed with a redis-server error.
No connection was possible to the redis-server. In my case it was probably a corrupted dump.rdb file.
I stopped the redis-server. Deleted the /var/lib/redis/dump.rdb. Then restarted the server and my website came back...
Not sure, if this is an acceptable workaround, because i am new to emoncms and linux as well....(working on hdd+pi emoncms)
Maybe some more experienced user jumps in to give some advise.
Yves
Re: Phpredis not installed...check README document for installation
Sorry for resuming this old thread.
I just wanted to thank yves because I had a similar issue and his workaround fixed the problem.
Regards,
Federico.


What we do
business_center
Professional Development
We have lots of opportunities to grow your career and skills from seminars to town halls.
group
Social Events
Get to know other asipiring young professionals in Chicago at our regular happy hours.
public
Service Opportunities
Get involved in the community and use your skills to make a difference.
About YGL Chicago
Our free membership includes local, state, and federal employees, as well as college students hoping to enter public Service upon graduation. We are interested in furthering our public service careers through professional deveopment activities, networking opportunities, social events, seminars, and community involvement.


function ColorDiv(C1, C2: TColor32): TColor32;
The resulting color components are the result of the division of corresponding components from C2 and C1.
[See Also]


The url2png endpoint accepts a URL and returns a link to download a PNG representation of the web page at the URL.
Parameters
| Name |
Required |
Located in |
Type |
Description |
| url |
true |
body |
string () |
URL of webpage to convert |
| viewport_width |
false |
body |
number (integer) |
The width of the produced PNG (default is 1440px) |
| delay |
false |
body |
number (integer) |
The time delay (ms) before executing image capture (default is 5000 ms) |
Success
200 (Object)
| Field |
Type |
Description |
| message |
string |
success |
| downloadURL |
string |
The relative URL for download of the captured image. Root will be the same as the API. |
Error
400 (Object)
| Field |
Type |
Description |
| message |
string |
No URL to print in post data |
Error
500 (Object)
| Field |
Type |
Description |
| message |
string |
Error message |
| error |
object |
Error object. |


Watch: Satmar Rebbe in Jerusalem Thousands of Satmar Hassidim and Jerusalem haredi community watches Rebbe's arrival to city. Streets blocked for occasion. 19 Nov 2019, 21:40 by Arutz Sheva Staff Loading....


EcommCo’s Data Lake leverages Amazon Redshift and Amazon Redshift Spectrum capabilities to transform, aggregate and analyze Curated Datasets. Redshift Spectrum allows data to be analyzed directly from S3, thus it can scale to support querying exabytes of data.
The diagram below illustrates how ECommCo uses Redshift Spectrum to join data that reside in S3 and Redshift.
Curated Datasets in S3 and Curated Datasets in Redshift can be transformed, joined, analyzed using Redshift Spectrum. Partitioned data on S3 can help optimize query performance by only scanning through partitions of interest.
One of ECommCo’s business stakeholder’s key questions is, “What is our expected Customer Lifetime Value (CLV)?”
An analytics process queries orders and products to aggregate per customer revenue and show averages across different customer segments:
EcommCo product catalogs are released annually. The products table is partitioned by date of a catalog release. EcommCo uses Redshift Spectrum to only analyze products for the most recent product catalog.
The Products table has 4 partitions. Since ECommCo’s business users are most interested in the most recent product catalog released at the end of 2016 year, Redshift Spectrum only analyzes 1 partition. This cuts down the time and required resources required to process a query.
ECommCo’s business users are very interested in seeing sales over time. Spectrum is used to analyze and aggregate orders on a year and month basis to generate sales over time analytics.
ECommCo’s business users are very interested in tracking their most popular SKUs. This Spectrum analytics process takes advantage of data partitioning of products in order to access only most recent product catalog.
When you click this button, the following steps will be performed within your AWS account:
Visit S3 in the AWS Management Console to see Spectrum analytics outputs stored as new datasets in {{ curated_bucket_name }} Bucket.
Navigate to Elasticsearch in the AWS Management Console and review at Top Curated Datasets Summary chart to see new Curated Datasets resulting from the Redshift Spectrum analytics.


hat the dance training of our students of all ages should encompass a wide range of movement experience.
-For the very young and beginning student dance is an extension of the natural range of movement and a preparation for the more complex program of modern, ballet and other forms.
-For the older and prepared student classes are based on the analysis of modern and ballet techniques of Martha Graham, Jose Limon and other teachers of contemporary dance.
-For the adult student dance is the extension and perfection of technique and performance in relation to its allied arts.
For the very young and beginning student dance is an extension of the natural range of movement and a preparation for the more complex program of modern, ballet and other forms.
For the older and prepared student classes are based on the analysis of modern and ballet techniques of Martha Graham, Jose Limon and other teachers of contemporary dance.
For the adult student dance is the extension and perfection of technique and performance in relation to its allied arts.


the registry does not allow you to redefine the same tag name nor to link a constructor with a second tag name


Linked Data 101 - A tutorial for Web developers
In the same way that websites being hosted on different servers can be linked to each other to allow users surf the Web and discover more content, Linked Data introduces a set of design principles for interconnecting data that allow applications to surf and reuse data on the Web. These principles open the door for developers to create richer and more innovative applications that combine data from heterogeneous and independent sources. However, it is common that developers who are not familiarized with the concepts and technologies related to Linked Data, struggle to find the proper tools that allow them unleash the full potential that Linked Data has to offer.
For that reason, in this tutorial we present some of the existing alternatives and tools that facilitate working with Linked Data in Web applications. We describe the basic concepts and some common tasks that Web developers face when creating applications that use Linked Data. Depending on your goal(s) and your prior knowledge about Linked Data, you can sequentially follow this tutorial for a comprehensive overview or dive directly into any of the following usage examples:
Before we start
What will I learn
After completing this tutorial you will have basic understanding of the fundamental concepts related to Linked Data. You will also be able to read, query and integrate Linked Data directly from the Web into your Web applications, using the tools presented in this tutorial.
Prerequisites
This is a tutorial thought for Web developers. Therefore, we assume you already have a basic knowledge on Web technologies such as HTTP, HTML and JavaScript.
How to use the tutorial
If you are new to concepts and technologies of Linked Data, we advise you to follow this tutorial step by step. Each section will introduce you to new concepts, tools and interactive code examples using CodePen.
On the other hand, if you already have experience working with Linked Data, check our Usage examples section to see different and interactive alternatives for using Linked Dat in Web applications.
Basic concepts
What is Linked Data
The Web started as a collection of documents or websites, that could be accessed and uniquely identified by an URL, e.g. http://info.cern.ch/hypertext/WWW/TheProject.html — the first website ever. The information contained in these websites is normally presented in a human-friendly format and often links to other websites containing more related information. However machines struggle trying to understand the data contained in these websites as humans do. For this reason a set of principles were defined for structuring and publishing data on the Web. These are known as the Linked Data principles and they aim on giving access to machines to all the data available on the Web.
What is an ontology
TODO
How does Linked Data look like
RDF
The Resource Description Framework (RDF) is a standard model for representing information on the Web. It is part of the W3C standard recommendations and it is considered within the Linked Data principles, as the standard model for representing data on the Web. RDF defines an abstract model that can be materialized through different serialization formats. Some of them are based on well-known syntaxes that are familiar to Web developers such as JSON-LD or RDF/XML. Regardless of the serialization format, RDF data remains consistent and is semantically equivalent from one format to another. This means that in theory, a Linked Data-based Web application should be capable of reusing and automatically understanding RDF data coming from different sources and in different formats. In practice, this requires data parsing processes for which several tools exist already.
The model defined by RDF allows to make statements about resources (e.g. documents, people, physical objects, abstract concepts, etc) in the form of triples. A triple expresses a relationship between two resources and it is composed by a subject, a predicate and an object (see figure 1).
Fig 1. An RDF triple.
Some examples of RDF triples are the following:
<Bob> <is a> <person>
<Bob> <is a friend of> <Alice>
<Bob> <is born on> <the 27th of June 1987>
<Bob> <is interested in> <the Mona Lisa>
<the Mona Lisa> <was created by> <Leonardo da Vinci>
JSON-LD
TODO
Other serializations
TODO
How can I read Linked Data
RDFJS
TODO
LDFetch
TODO
How can I query Linked data
TODO
SPARQL
TODO
Comunica
TODO
GraphQL-LD
TODO
LDFlex
TODO
Usage examples
Working with JSON-LD data
Reading single values
TODO
Handling nested objects
TODO
JSON-LD framing
TODO
Using ontologies in your UI
Listing entities by type
TODO
Getting entities description
TODO
Translating labels
TODO


ANNA AND THE KING RATING: 7.5 /10 --> Very Good Movie
For more reviews and movie screensavers, visit http://www.joblo.com/
And believe you me when I tell you that I was NOT looking forward to seeing this movie featuring a British Jodie Foster going over to Siam to teach some King's spoiled brats to speak English. Somehow, it didn't tickle the JoBlo fancy. But I went, I saw and by golly, I'll say it, I liked it. I really, really liked it!
PLOT: A widowed British schoolteacher is summoned by the King of Siam to his country in order to teach his children about the language of English and the world outside their own. The independent woman begins her teachings with reluctance, but shortly settles into her own, and inevitably learns much about herself as well. No songs. No dance numbers.
CRITIQUE: A beautifully photographed motion picture. Wow. This is the kind of movie that makes you want to travel the world's most exotic places, until you realize that you will most likely bunk in two-bit hotels with no indoor plumbing, as opposed to Jodie Foster in this flick, who was put in a King's palace.  Uhm, but I digress. That aside, this film was wonderfully shot in all of its majestical glory, exquisite cinematography, lush locations with plenty of exotic flair and original costumes. Truly of epical proportions. The actors in the movie were also right on, with a surprisingly rock-solid performance by Chow Yun-Fat. My God, who ever thought this dude could act?  Yup.
Of course, that's not to take anything away from Foster, who as per her usual talents, comes through with all kinds of colors-a-blazin'. Much like Meryl Streep, Jodie always seems to be a consistent hitter, batting 1.000 whenever called upon. Even more importantly for the audience, the chemistry between the two thespians works in this film and that is extremely important for this tale, when you consider that much of the film is essentially a character study between these two strong individuals. Add to that some funny moments, some touching moments and a bit of history for ya'll, and this is one fine film. And what didn't I like? Well, I didn't think the story was rich enough to take up the entire two and a half hours that it filled, with a couple of ho-hum moments here and there. I also didn't appreciate the clean ending and the way everything was so simply resolved, but you know, after the visual feast that accompanied my eyes during the film's first 120 minutes, I was willing to forgive even that. All in all, a very good picture worthy of attention by the man named Oscar in at least a couple of his nominated categories at the end of this fine year in film. Oh yeah, in case you're not "into" subtitles, this film is loaded with them! I had no problem with this, in fact, I thought it helped further my appreciation of the story's authenticity (even though I know that many of the facts in this interpretation were slightly tweaked, but that's another story altogether.) Think SOUND OF MUSIC without Julie Andrews, maaaaaaany more kids and no songs :)
Little Known Facts about this film and its stars: Jodie Foster's full name is Alicia Jodie Foster. Besides an overly accomplished career as an actress, Jodie also majored in literature at Yale and graduated magna cum laude in 1985. Fun trivia includes the fact that Jodie is fluent is French and was apparently the second choice for the role of Princess Leia in STAR WARS. She reportedly received $15,000,000 for her role in this film. One really tragic moment in her life came on March 30th, 1981 when John Hinkley Jr. attempted to assassinate President Reagan. Hinkley claimed to be obsessed with Jodie and the movie TAXI DRIVER (9/10) in which Travis Bickle, played by Robert DeNiro, tried to shoot a presidential candidate. Hinkley is rumored to have said that he was doing it in order to "impress" Jodie Foster. Well, it turns out that Chow Yun-Fat does have some experience in receiving praise for his acting chops as his three Won Hong Kong Academy "Best Actor" Awards have shown. He received his awards for his roles in 1987's A BETTER TOMORROW, 1988's CITY ON FIRE and 1990's ALL ABOUT AH LONG. Furthermore, CineAsia, the Asian Theatre Owners Convention, recently named Chow the "Star of the Decade". Director Andy Tennant's last two films were EVER AFTER (7/10) and FOOLS RUSH IN (5.5/10) respectively. He began his career as a dancer moved on to become a writer and now likes to direct. Interestingly enough, two of his bigger roles as an actor/dancer were in the two GREASE movies. He played a "dancer" in the original GREASE and a "boy greaser" in the second. And yes, you are right, that is producer Laurence Bender's name in the credits of this film. The man behind such movies as RESERVOIR DOGS, PULP FICTION, KILLING ZOE and the DUSK TILL DAWN trilogy, also likes to do some "normal" films every now and then as well. He also played a "young cop" in Quentin Tarantino's first film RESERVOIR DOGS.
Review Date: December 9, 1999 Director: Andy Tennant Writers: Peter Krikes and Steve Meerson Producers: Lawrence Bender and Ed Elbert Actors: Jodie Foster as Anna Chow Yun-Fat as King Mongkut Genre: Drama Year of Release: 1999 --------------------------------------- JoBlo's Movie Emporium http://www.joblo.com --------------------------------------- (c) 1999 Berge Garabedian
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


Animal Vegetable Mineral is a guessing game for two players. The player with the micro:bit must think of a 'thing' and not tell the other player. The 'thing' must fall into one of the three categories of Animal, Vegetable or Mineral. The player with the smartphone proceeds to try to guess what the thing is by asking a series of questions which it must be possible to answer with either YES or NO. The aim is to figure out the thing in as few guesses as possible. Sending a question is achieved by typing it into the smartphone application and pressing the Send Question button.
The micro:bit player will receive questions over Bluetooth and they will be displayed on the LED grid. The micro:bit player should press button A to respond YES, button B to respond with NO or both buttons together if the guess was correct. The selected response is scrolled across the micro:bit display and sent over Bluetooth to the smartphone where it is displayed in a pop-up for the smartphone player to see.
The smartphone app has a New Game option in the menu. Select this to reset the guess count.
The Bluetooth profile includes a service called the UART Service.
All the code for this demo can be found in ui.UartAvmActivity.java except for the Bluetooth operations which are in bluetooth.BleAdapterService. Sending a question involves writing to the UART Service's RX characteristic (characteristics are named from the point of view of the micro:bit). Responses are sent from the micro:bit to the smartphone as Bluetooth "indications" from the TX Characteristic.
Your micro:bit needs the following code in main.cpp for this demo to work
#include "MicroBit.h" #include "MicroBitSamples.h" #include "MicroBitUARTService.h" MicroBit uBit; MicroBitUARTService *uart; int connected = 0; void onConnected(MicroBitEvent e) { uBit.display.scroll("C"); connected = 1; // my client will send ASCII strings terminated with the colon character ManagedString eom(":"); while(1) { ManagedString msg = uart->readUntil(eom); uBit.display.scroll(msg); } } void onDisconnected(MicroBitEvent e) { uBit.display.scroll("D"); connected = 0; } void onButtonA(MicroBitEvent e) { if (connected == 0) { uBit.display.scroll("NC"); return; } uart->send(ManagedString("YES")); uBit.display.scroll("YES"); } void onButtonB(MicroBitEvent e) { if (connected == 0) { uBit.display.scroll("NC"); return; } uart->send(ManagedString("NO")); uBit.display.scroll("NO"); } void onButtonAB(MicroBitEvent e) { if (connected == 0) { uBit.display.scroll("NC"); return; } uart->send(ManagedString("GOT IT!!")); uBit.display.scroll("GOT IT!!"); } /* Recommend disabling the DFU and Event services in MicroBitConfig.h since they are not needed here: #ifndef MICROBIT_BLE_DFU_SERVICE #define MICROBIT_BLE_DFU_SERVICE 0 #endif #ifndef MICROBIT_BLE_EVENT_SERVICE #define MICROBIT_BLE_EVENT_SERVICE 0 #endif */ int main() { // Initialise the micro:bit runtime. uBit.init(); uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_CONNECTED, onConnected); uBit.messageBus.listen(MICROBIT_ID_BLE, MICROBIT_BLE_EVT_DISCONNECTED, onDisconnected); uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA); uBit.messageBus.listen(MICROBIT_ID_BUTTON_B, MICROBIT_BUTTON_EVT_CLICK, onButtonB); uBit.messageBus.listen(MICROBIT_ID_BUTTON_AB, MICROBIT_BUTTON_EVT_CLICK, onButtonAB); // Note GATT table size increased from default in MicroBitConfig.h // #define MICROBIT_SD_GATT_TABLE_SIZE 0x500 uart = new MicroBitUARTService(*uBit.ble, 32, 32); uBit.display.scroll("AVM"); // If main exits, there may still be other fibers running or registered event handlers etc. // Simply release this fiber, which will mean we enter the scheduler. Worse case, we then // sit in the idle task forever, in a power efficient sleep. release_fiber(); }


Twitch is a live streaming video platform owned by Twitch Interactive, a subsidiary of Amazon. Introduced in June 2011 as a spin-off of the general-interest streaming platform, Justin.tv, the site primarily focuses on video game live streaming, including broadcasts of eSports competitions, in addition to creative content, "in real life" streams, and more recently, music broadcasts. Content on the site can either be viewed live or via video on demand.
Designed and app built around an API for the DirecTV set top box. Collaborated with a developer for specs and guidelines. The end result was my design making into the app that can be viewed through DirecTV's service
Technologies used: Photoshop
The initial designs for this product wasn't too far off from the delivered product
There was a small hiccup during the design process because of this. There were some slight modificaitons to the design but it didn't change too much
The delivered design met the specs and guildlines of both the DirecTV set top box as well as the Twitch API.
UX/UI Design/ Development/ Branding/ Marketing
Process: Sketch and Mockup for Prototype Below >
Sketch Wireframe and Prototype >
I would love to hear from you to discuss any needs or problems you may have and what solutions we can come up with.
818-245-0017


We have team building service projects for everyone!
Whether you are an individual, part of a group, or corporation, you can help children in your community with a fun team building project. Your kindness makes a difference in not only the lives of your co-workers, friends, and family but also the lives of children in foster care.
Double the Donation
Did you know many companies offer matching gift programs to encourage philanthropy among their employees? Your company, your spouses’ company, or even a company you are retired from may match your gift!
Make An Impact
Team Building Activities
Thank you to Our Recent Partners!
Frequently Asked Questions
What is Charitable Team Building?
Great Question! Charitable team building is when a volunteer opportunity is incorporated with a team building initiative that benefits the community!
Who can get involved?
Anyone! If you are a part of a company, a non profit, or local community group you can take part in a team building activity! Please see our available opportunities for more details.
How do I get Started?
To get started, we just need some basic information about you and your group. Please use this link [insert volunteer email link] to sign up and one or our programs team members will connect with you shortly!
Where are these opportunities held?
Team building volunteer opportunities are held at each of our program locations. For more information on site locations, please follow this link.
What are the benefits of these opportunities?
The idea behind combining corporate and social responsibility efforts with team building plans is to streamline two initiatives under one budget. Rather than just spend money on two distinct efforts, combining them allows funds to become tax deductible while lifting the spirits of employees and Meals on Wheels clients!


String className
int errorCode
ObjectReference exception
List<E> names
Process process
Copyright © 1999, 2019, Oracle and/or its affiliates. All rights reserved.