Q: What is ragging?
1. Any disorderly conduct whether by words spoken or written or by an act which has the effect of teasing, treating or handling with rudeness a fresher or a junior student.
2. Indulging in a rowdy or undisciplined activities which causes or is likely to cause annoyance, hardship or psychological harm or to raise fear or apprehension thereof in a fresher or a junior student.
3. Asking the students to do any act or perform something which such student will not do in the ordinary course and which has the effect of causing or generating a sense of shame or embarrassment so as to adversely affect the physique or psyche of a fresher or a junior student.
Q: Why would anyone indulge in ragging?
1. To derive a sadistic pleasure
2. To show off power, authority or superiority over juniors or freshers.
Q: Is some form of ragging good?
No. Ragging, in any form, is a reprehensible act which does no good to anyone. Every act of ragging, major or minor, is beyond the limits of decency, morality and humanity. Civilised societies across the world are doing away with this nefarious practice. Some states in India have done the same. Madhya Pradesh will do it this year.
Q: Why does ragging still exist?
1. Earlier, public opinion against ragging was not as strong as it is now.
2. It was not clearly defined what ragging is.
3. Earlier, the concern was limited to violent form of ragging and other forms were considered tolerable, even desirable. This is not the case now.
Q: What is ‘zero tolerance’ policy?
No act of ragging, major or minor, shall go unnoticed. No ragger, male or female, student or non-student, shall go unpunished. No institution that fails to take action against ragging shall be allowed to operate.
Q: Who will implement this policy?
Everyone concerned, specially: 1. The heads of the educational institutions. 2. The State Government, through Divisional Commissioners. 3. The opinion makers.
Q: How can we exterminate this evil practice?
By exercise of the disciplinary authority of the teachers over the students and of the management of the institutions over the teachers and students. No effort should be made to minimize the number of ‘reported cases’. Reporting is to be encouraged through all available means. Anti-ragging movement should be initiated by the institutions right from the time of advertisement for admissions. The prospectus, the form for admission and/or any other literature issued to the aspirants for admission must clearly mention that ragging is banned in the institution and anyone indulging in ragging is likely to receive deterrent punishment.


by Andreas Gruber
When learning a new language, I find that crime stories are usually a good way to start reading books. As a reader, you often create expectations (hypotheses) that you will check during the reading process. Crime stories often start from a recognizable situation, with characters that have clearly defined personalities. These aspects make the story easy to follow, even when you don't pick up all the details in the new language.
I currently only speak German to my mother in law and studying Chinese makes me forget a lot of vocabulary and grammar. Hence I want to put a bit more effort in surrounding myself with German literature. I've already started reading this book and it seems promising (there is a lot of suspense, right from the beginning)! Seems like I had a lucky day when I found this book for 2 euro at a second hand book sale.
by Chu Yiu-Wai
Until six years ago, I was rather clueless about Chinese culture. Then I started learning about the differences in Chinese languages, such as Mandarin and Cantonese (spoken for example in Hong Kong). I was amazed that Cantonese sounded so powerful and melodic in my ears. As a musicologist, I quickly gained interest in Cantonese music as well. I started listening to Hong Kong radio channels and was introduced to Cantopop. I was baffled. I was head over heels with the rythm in the music, the emotions buried deeply into the singer's voices, the absurdity of some of the lyrics... How could I not know this existed? I had studied so many different musicalities, but not once was this mentioned in any of the courses I followed or books I read. I hope this book is a starting point for a historic study of cantopop and a a good way to make the existence of cantopop known on a global scale.
by Yuval Noah Harari
This book has been recommended to me by many people and it seems that it is not a moment too early to read this, now that we're officially done with 20% of the 21st century.
by Liu Yuehua and Chu Chengzhi
Reading this book is an assignment for Chinese class this year. We read the first book (你最喜欢谁？) in the first semester and it was about the love story (or breakup story) of a Chinese software developer who specifically developed software in Chinese during the 1980s. Combining software development en Chinese culture into one book, is enough to convince me to read it! I am very curious to see how the story continuous.
by Robert Cecil Martin
Another book that has been on my list for a while. I am currently working on multiple software projects and they are not small project anymore. I thus feel the need to improve the way I work, in particular because I work in team.


Renders a JavaScript array object as a collection of
div
elements. This control is primarily meant as a quick way to get data on the page, for example, during prototype development.


Bill Buddy
Category
Choose a Category
How much was your bill?
$
What % tip would you like to give?
%
How many people are splitting the bill?
Total Amount:
$
Total Per Person:
$
Save Meal
Order Meals
Filter by month
September
October
November
December


The Walking Dead is an American post-apocalyptic horror drama television series developed by Frank Darabont. It is based on the comic book series of the same name by Robert Kirkman, Tony Moore, and Charlie Adlard. It stars Andrew Lincoln as sheriff's deputy Rick Grimes, who awakens from a coma to find a post-apocalyptic world dominated by flesh-eating zombies. He sets out to find his family and encounters many other survivors along the way.
Sheriff's deputy Rick Grimes is shot and wounded in an altercation with criminals. He awakens weeks later from a coma in an abandoned and badly-damaged hospital. Upon leaving, Rick discovers a post-apocalyptic world overrun with zombies, colloquially called "walkers" and "biters". He also discovers his wife and son are missing, and meets survivors Morgan Jones and his son Duane.
The second season begins with Rick and his group of survivors escaping the CDC. They decide Fort Benning will be their next destination. Along the way, they encounter a traffic jam of abandoned vehicles on Interstate 85. The group loots several vehicles, and the group assumes that all is well until a large herd of walkers approach and they are forced to disperse and hide under cars. A walker chases Carol's daughter, Sophia, out from her hiding spot and, with another walker.
The third season begins several months after the group escaped the farm, and Lori is in the final days of her pregnancy. The group stumbles upon an overrun prison and sets about converting it into their new home. While securing the prison, a walker bites Hershel in the ankle and Rick is forced to amputate it to prevent further infection. They soon find several surviving inmates who have been trapped in the cafeteria. While Rick, Daryl and T-Dog help clear a separate cell block for the inmates to live in.
The fourth season begins several months following the close of the third season, where life has become relatively peaceful for the growing number of survivors at the prison. Rick made the decision some time ago to renounce his role as the group's leader, in which a council was formed as a replacement. The peaceful society is disrupted when a deadly influenza virus ravages the population, killing many of the survivors. A scavenging team eventually returns with the medicine needed to contain the outbreak.


This section explains the messages that are output in the audit log for operations executed by an administrator of an organization with any role on a marketplace. Most of these operations can also be executed by OU administrators and subscription managers.
<additional name-value pairs> are appended depending on the logged operation.
|
Operation: Assign service role Description: An administrator, OU administrator, or subscription manager set or changed a service role for a user assigned to a subscription. Additional name-value pairs:
|
|
Operation: Assign user to organizational unit Description: An administrator or OU administrator added one or more users to an organizational unit. Additional name-value pairs:
|
|
Operation: Assign user to subscription Description: An administrator, OU administrator, or subscription manager assigned a user to a subscription. Additional name-value pairs: |
|
Operation: Deassign service role Description: An administrator, OU administrator, or subscription manager removed a service role from a user assigned to a subscription. Additional name-value pairs: |
|
Operation: Deassign user from subscription Description: An administrator, OU administrator, or subscription manager removed the assignment of a user to a subscription. Additional name-value pairs: |
|
Operation: Disable access to services Description: An administrator or OU administrator specified the services that can no longer be accessed by the members of an organizational unit. For every service, a separate log entry is written. Additional name-value pairs:
|
|
Operation: Edit customer attribute by customer Description: An administrator or subscription manager defined or changed an attribute value for a customer attribute. For every attribute value, a separate log entry is written. Additional name-value pairs:
|
|
Operation: Edit subscription attribute by customer Description: An administrator, OU administrator, or subscription manager defined or changed an attribute value for a custom subscription attribute. For every attribute value, a separate log entry is written. Additional name-value pairs: |
|
Operation: Edit subscription owner Description: An administrator or OU administrator set or changed the owner of a subscription. Additional name-value pairs: |
|
Operation: Edit subscription parameter configuration Description: An administrator, OU administrator, or subscription manager changed the parameter options for a subscription. For every parameter option, a separate log entry is written. Additional name-value pairs:
|
|
Operation: Enable access to services Description: An administrator or OU administrator specified the services that can be accessed by the members of an organizational unit. For every service, a separate log entry is written. Additional name-value pairs:
|
|
Operation: Remove user from organizational unit Description: An administrator or OU administrator removed one or more users from an organizational unit. Additional name-value pairs:
|
|
Operation: Report issue Description: An administrator, OU administrator, or subscription manager reported an issue on a subscription to the responsible supplier or reseller. Additional name-value pairs:
|
|
Operation: Set subscription billing address Description: An administrator, OU administrator, or subscription manager set or changed the billing address for a subscription. Additional name-value pairs:
|
|
Operation: Set subscription payment type Description: An administrator, OU administrator, or subscription manager set or changed the payment type for a subscription. Additional name-value pairs:
|
|
Operation: Subscribe to service Description: An administrator, OU administrator, or subscription manager completed subscribing to a marketable service offered on a marketplace. Additional name-value pairs.
|
|
Operation: Unsubscribe from service Description: An administrator, OU administrator, or subscription manager terminated a subscription. Additional name-value pairs:
|
|
Operation: Up/downgrade subscription Description: An administrator, OU administrator, or subscription manager upgraded or downgraded a subscription. Additional name-value pairs:
|


Manual:
Each program has its own manual which also explains theory and algorithms in detail.
These explanations are found in the directory 'manual', but they can also be opened during runtime by clicking on 'manual'.


| Package | Description |
|---|---|
| bayou.async |
Async programming model.
|
| bayou.bytes |
Async byte source/sink.
|
| bayou.file |
Utilities for files.
|
| bayou.form |
Html form handling.
|
| bayou.gzip |
GZIP related utils.
|
| bayou.http |
Http server.
|
| bayou.mime |
MIME related utilities.
|
| bayou.ssl |
SSL support.
|
| bayou.tcp |
Non-blocking TCP server.
|
| bayou.text |
Utilities for texts.
|
| bayou.util |
Miscellaneous types and utilities.
|
| bayou.websocket |
WebSocket server.
|
| Modifier and Type | Interface and Description |
|---|---|
interface |
AutoAsync<T>
To make a type also as an `Async` type.
|
| Modifier and Type | Class and Description |
|---|---|
class |
AsyncBundle<T,R>
Bundles multiple parallel
Async<T> tasks as one Async<R> action. |
class |
Promise<T>
An implementation of `Async` for result producers.
|
| Modifier and Type | Field and Description |
|---|---|
static Async<Void> |
Async.VOID
A constant
Async<Void> that immediately succeeds with value null . |
| Modifier and Type | Method and Description |
|---|---|
default <X extends Exception> Async<T> |
Async.catch__(Class<X> exceptionType,
FunctionX<X,Async<T>> exceptionHandler)
If `this` action fails with a specific exception type, invoke an exception handler.
|
default <X extends Exception> Async<T> |
Async.catch_(Class<X> exceptionType,
FunctionX<X,T> exceptionHandler)
If `this` action fails with a specific exception type, invoke an exception handler.
|
default <R> Async<R> |
Async.covary()
Do a covariance cast.
|
static <T> Async<T> |
Async.execute(Callable<T> action)
Execute the action asynchronously in a default executor.
|
static <T> Async<T> |
Async.execute(ExecutorService executor,
Callable<T> action)
Execute the action asynchronously, return an Async that completes when the action completes.
|
static <T> Async<T> |
Async.failure(Exception e)
Create an `Async<T>` that immediately fails with `e`.
|
default Async<T> |
Async.finally_(Callable<Async<?>> action)
After `this` action completes, regardless of success or failure, execute a subsequent action.
|
default Async<T> |
Async.finally_(RunnableX action)
After `this` action completes, regardless of success or failure, execute a subsequent action.
|
static <T> Async<Void> |
AsyncIterator.forEach_(AsyncIterator<T> elements,
FunctionX<T,Async<?>> asyncAction)
Perform asyncAction on each element.
|
default Async<Void> |
AsyncIterator.forEach_(FunctionX<T,Async<?>> asyncAction)
Similar to
forEach() , except that the action is async. |
static <T> Async<Void> |
AsyncIterator.forEach(AsyncIterator<T> elements,
ConsumerX<T> action)
Perform action on each element.
|
default Async<Void> |
AsyncIterator.forEach(ConsumerX<T> action)
Perform action on each element.
|
static <T1,T2,R> Async<R> |
Async.invoke_(BiFunctionX<T1,T2,Async<R>> func,
Async<T1> async1,
Async<T2> async2)
Similar to
invoke(bayou.util.function.BiFunctionX, Async, Async) ,
except that `func` returns `Async<R>` instead. |
static <T1,T2,R> Async<R> |
Async.invoke(BiFunctionX<T1,T2,R> func,
Async<T1> async1,
Async<T2> async2)
Invoke `func` with async args.
|
Async<T> |
Fiber.join()
Return an Async that completes when this fiber completes.
|
default <R> Async<R> |
Async.map(FunctionX<T,R> onSuccess)
After `this` action succeeds, map the value to another value.
|
default <R> Async<R> |
Async.map(FunctionX<T,R> onSuccess,
FunctionX<Exception,R> onFailure)
After `this` action completes, map the success value or the failure exception to another value.
|
Async<T> |
AsyncIterator.next()
Yield the next element asynchronously.
|
default Async<T> |
Async.peek(ConsumerX<T> onSuccess)
After `this` action succeeds, perform an action on the value.
|
default Async<T> |
Async.peek(ConsumerX<T> onSuccess,
ConsumerX<Exception> onFailure)
After `this` action completes, perform an action on the result.
|
default <R> Async<R> |
AsyncIterator.reduce_(R r0,
BiFunctionX<R,T,Async<R>> func)
Similar to
reduce() , except func returns Async<R> instead of R. |
default <R> Async<R> |
AsyncIterator.reduce(R r0,
BiFunctionX<R,T,R> func)
Compute a value from the elements.
|
static Async<Void> |
Fiber.sleep(Duration duration)
Start an async action that idles for the specified duration, then succeeds with `null`.
|
static <T> Async<T> |
Fiber.sleep(Duration duration,
T value)
Start an async action that idles for the specified duration, then succeeds with `value`.
|
static <T> Async<T> |
Async.success(T value)
Create an `Async<T>` that immediately succeeds with `value`.
|
default <R> Async<R> |
Async.then(FunctionX<T,Async<R>> onSuccess)
After `this` action succeeds, invoke a subsequent action.
|
default <R> Async<R> |
Async.then(FunctionX<T,Async<R>> onSuccess,
FunctionX<Exception,Async<R>> onFailure)
After `this` action completes, invoke a subsequence action.
|
default Async<T> |
AutoAsync.timeout(Duration duration)
Implements
timeout(Duration) ;
by default, do nothing. |
default Async<T> |
Async.timeout(Duration duration)
Fail this action with
TimeoutException
if it's not completed within the specific duration. |
default Async<List<T>> |
AsyncIterator.toList()
Gather all elements into a List.
|
default <R> Async<R> |
Async.transform(FunctionX<Result<T>,Async<R>> func)
After `this` action completes, invoke a function to transform the result.
|
| Modifier and Type | Method and Description |
|---|---|
static <T1,T2,R> Async<R> |
Async.invoke_(BiFunctionX<T1,T2,Async<R>> func,
Async<T1> async1,
Async<T2> async2)
Similar to
invoke(bayou.util.function.BiFunctionX, Async, Async) ,
except that `func` returns `Async<R>` instead. |
static <T1,T2,R> Async<R> |
Async.invoke_(BiFunctionX<T1,T2,Async<R>> func,
Async<T1> async1,
Async<T2> async2)
Similar to
invoke(bayou.util.function.BiFunctionX, Async, Async) ,
except that `func` returns `Async<R>` instead. |
static <T1,T2,R> Async<R> |
Async.invoke(BiFunctionX<T1,T2,R> func,
Async<T1> async1,
Async<T2> async2)
Invoke `func` with async args.
|
static <T1,T2,R> Async<R> |
Async.invoke(BiFunctionX<T1,T2,R> func,
Async<T1> async1,
Async<T2> async2)
Invoke `func` with async args.
|
| Modifier and Type | Method and Description |
|---|---|
static <T> AsyncBundle<T,List<T>> |
AsyncBundle.allOf(Stream<Async<T>> tasks)
Create a bundle that succeeds if all of the tasks succeeds.
|
static <T> AsyncBundle<T,T> |
AsyncBundle.anyOf(Stream<Async<T>> tasks)
Create a bundle that succeeds as soon as any one of the tasks succeeds.
|
default <X extends Exception> Async<T> |
Async.catch__(Class<X> exceptionType,
FunctionX<X,Async<T>> exceptionHandler)
If `this` action fails with a specific exception type, invoke an exception handler.
|
default AsyncIterator<T> |
AsyncIterator.filter_(FunctionX<T,Async<Boolean>> predicate)
Similar to
filter() , except that predicate returns Async<Boolean> instead of Boolean. |
default Async<T> |
Async.finally_(Callable<Async<?>> action)
After `this` action completes, regardless of success or failure, execute a subsequent action.
|
static <T> Async<Void> |
AsyncIterator.forEach_(AsyncIterator<T> elements,
FunctionX<T,Async<?>> asyncAction)
Perform asyncAction on each element.
|
default Async<Void> |
AsyncIterator.forEach_(FunctionX<T,Async<?>> asyncAction)
Similar to
forEach() , except that the action is async. |
static <T1,T2,R> Async<R> |
Async.invoke_(BiFunctionX<T1,T2,Async<R>> func,
Async<T1> async1,
Async<T2> async2)
Similar to
invoke(bayou.util.function.BiFunctionX, Async, Async) ,
except that `func` returns `Async<R>` instead. |
default <R> AsyncIterator<R> |
AsyncIterator.map_(FunctionX<T,Async<R>> func)
Similar to
map() , except that `func` returns Async<R> instead of R. |
default <R> Async<R> |
AsyncIterator.reduce_(R r0,
BiFunctionX<R,T,Async<R>> func)
Similar to
reduce() , except func returns Async<R> instead of R. |
static <T> AsyncBundle<T,List<T>> |
AsyncBundle.someOf(Stream<Async<T>> tasks,
int successThreshold)
Create a bundle that succeeds as soon as a number of the tasks succeeds.
|
default <R> Async<R> |
Async.then(FunctionX<T,Async<R>> onSuccess)
After `this` action succeeds, invoke a subsequent action.
|
default <R> Async<R> |
Async.then(FunctionX<T,Async<R>> onSuccess,
FunctionX<Exception,Async<R>> onFailure)
After `this` action completes, invoke a subsequence action.
|
default <R> Async<R> |
Async.then(FunctionX<T,Async<R>> onSuccess,
FunctionX<Exception,Async<R>> onFailure)
After `this` action completes, invoke a subsequence action.
|
default <R> Async<R> |
Async.transform(FunctionX<Result<T>,Async<R>> func)
After `this` action completes, invoke a function to transform the result.
|
| Constructor and Description |
|---|
AsyncBundle(Stream<Async<T>> tasks,
FunctionX<List<Result<T>>,R> trigger)
Create a bundle over the tasks, with the trigger function.
|
Fiber(Callable<Async<T>> task)
Create a new fiber for the task, with the current executor and a generated name.
|
Fiber(Executor executor,
String name,
Callable<Async<T>> task)
Create a new fiber, with the specified executor, name, and task.
|
| Modifier and Type | Method and Description |
|---|---|
default Async<String> |
ByteSource.asString(int maxChars)
Read all bytes from this source and convert them to a String.
|
default Async<String> |
ByteSource.asString(int maxChars,
Charset charset)
Read all bytes from this source and convert them to a String.
|
Async<Void> |
ThrottledByteSource.close()
Close this source.
|
Async<Void> |
ThreadSafeByteSource.close()
Close this source.
|
Async<Void> |
SimpleByteSource.close()
Close this source.
|
Async<Void> |
RangedByteSource.close()
Close this source.
|
Async<Void> |
PushbackByteSource.close()
Close this source.
|
Async<Void> |
InputStream2ByteSource.close()
Close this source.
|
Async<Void> |
ByteSource.close()
Close this source.
|
Async<Void> |
ByteSink.close()
Close this sink.
|
Async<Void> |
ByteSink.error(Exception error)
Set this sink to an error state.
|
Async<ByteBuffer> |
ThrottledByteSource.read()
Read the next chunk of bytes.
|
Async<ByteBuffer> |
ThreadSafeByteSource.read()
Read the next chunk of bytes.
|
Async<ByteBuffer> |
SimpleByteSource.read()
Read the next chunk of bytes.
|
Async<ByteBuffer> |
RangedByteSource.read()
Read the next chunk of bytes.
|
Async<ByteBuffer> |
PushbackByteSource.read()
Read the next chunk of bytes.
|
Async<ByteBuffer> |
InputStream2ByteSource.read()
Read the next chunk of bytes.
|
Async<ByteBuffer> |
ByteSource.read()
Read the next chunk of bytes.
|
default Async<ByteBuffer> |
ByteSource.readAll(int maxBytes)
Read all bytes from this source into one ByteBuffer.
|
default Async<Long> |
ByteSource.toSink(ByteSink sink)
Write the bytes from this source to the sink.
|
Async<Void> |
ByteSink.write(ByteBuffer bb)
Write the bytes to this sink.
|
| Modifier and Type | Method and Description |
|---|---|
Async<Void> |
FileByteSource.close()
Close this source.
|
Async<Void> |
FileByteSink.close() |
Async<Void> |
FileByteSink.error(Exception error) |
Async<AsynchronousFileChannel> |
FileByteSource.ChannelProvider.openChannel()
Open a file channel.
|
Async<ByteBuffer> |
FileByteSource.read()
Read the next chunk of bytes.
|
Async<Void> |
FileByteSink.write(ByteBuffer bb) |
| Modifier and Type | Method and Description |
|---|---|
Async<FormData> |
FormParser.parse(HttpRequest request)
Parse the request for POST form data.
|
static Async<FormData> |
FormData.parse(HttpRequest request)
Parse the request for POST form data.
|
| Modifier and Type | Method and Description |
|---|---|
Async<Void> |
GzipByteSource.close() |
Async<Void> |
GunzipByteSource.close() |
Async<ByteBuffer> |
GzipByteSource.read() |
Async<ByteBuffer> |
GunzipByteSource.read()
Read the next chunk of decompressed bytes.
|
| Modifier and Type | Class and Description |
|---|---|
class |
HttpResponseImpl
A mutable implementation of HttpResponse.
|
| Modifier and Type | Method and Description |
|---|---|
default Async<ByteBuffer> |
HttpResponse.bodyBytes(int maxBytes)
Get all the bytes of the entity body.
|
default Async<ByteBuffer> |
HttpEntity.bodyBytes(int maxBytes)
Get all the bytes of the body.
|
default Async<String> |
HttpResponse.bodyString(int maxChars)
Get the entity body as a String.
|
default Async<String> |
HttpEntity.bodyString(int maxChars)
Get the body as a String.
|
Async<Void> |
HttpClientConnection.close()
Close the connection and free resources.
|
Async<Void> |
HttpClient.close()
Close this client and free resources.
|
Async<HttpResponse> |
HttpClient.doGet(String absoluteUri)
Send a GET request.
|
static Async<HttpResponse> |
HttpResponse.file(int statusCode,
String filePath)
Create a response serving the file.
|
Async<List<Cookie>> |
CookieStorage.getCookies(HttpRequest request)
Get the cookies that should be sent with the request.
|
Async<HttpResponse> |
HttpHandler.handle(HttpRequest request)
Generate a response for the request.
|
Async<HttpResponse> |
HotHttpHandler.handle(HttpRequest request)
Handle an http request.
|
Async<HttpClientConnection> |
HttpClient.newConnection(TcpAddress dest)
Create a new HTTP connection to `dest` address.
|
Async<HttpResponse> |
HttpClientConnection.receive()
Receive the next non-1xx response.
|
Async<HttpResponse> |
HttpClientConnection.receive0()
Receive the next response, which could be 1xx.
|
Async<Void> |
HttpClientConnection.send(HttpRequest request)
Send a request over this connection.
|
Async<HttpResponse> |
HttpClient.send(HttpRequest request)
Send a request and wait for the final response.
|
Async<HttpResponse> |
HttpClient.send0(HttpRequest request,
TcpAddress dest)
Send a request to `dest`.
|
Async<Void> |
CookieStorage.setCookies(HttpRequest request,
HttpResponse response)
Save the cookies carried in the response.
|
Async<HttpResponse> |
HttpUpgrader.tryUpgrade(HttpRequest httpRequest,
TcpConnection tcpConnection)
Try to upgrade the http connection.
|
Async<TcpConnection> |
ConnectTunnel.tunnelTo(TcpConnection tcpConn,
String host,
int port) |
| Modifier and Type | Method and Description |
|---|---|
Function<TcpAddress,Async<UserPass>> |
HttpClientConf.get_userPassSupplier() |
Supplier<Async<UserPass>> |
HttpProxy.userPassSupplier()
The username/password supplier for proxy authentication.
|
| Modifier and Type | Method and Description |
|---|---|
HttpClientConf |
HttpClientConf.userPassSupplier(Function<TcpAddress,Async<UserPass>> userPassSupplier)
Username/password supplier for server authentications.
|
| Constructor and Description |
|---|
ConnectTunnel(TcpAddress address,
Supplier<Async<UserPass>> userPassSupplier)
Create an HTTP CONNECT tunnel.
|
HttpProxy(TcpAddress address,
Supplier<Async<UserPass>> userPassSupplier)
Create an HttpProxy.
|
| Modifier and Type | Method and Description |
|---|---|
Async<Void> |
MultipartByteSource.close() |
Async<MultipartPart> |
MultipartParser.getNextPart()
Get the next part.
|
Async<ByteBuffer> |
MultipartByteSource.read() |
| Modifier and Type | Method and Description |
|---|---|
Async<SslConnection> |
SslChannel2Connection.convert(TcpChannel channel)
Convert a TcpChannel to an SslConnection.
|
Async<TcpConnection> |
SslChannel2Connection.convert(TcpChannel channel,
TcpChannel2Connection plainConverter)
Convert a server-side TcpChannel to SslConnection or plain TcpConnection.
|
| Modifier and Type | Method and Description |
|---|---|
Async<Void> |
TcpConnection.awaitReadable(boolean accepting)
Wait till this connection becomes readable.
|
Async<Void> |
TcpChannel.awaitReadable(boolean accepting)
Wait till this channel becomes readable.
|
Async<Void> |
TcpConnection.awaitWritable()
Wait till this connection becomes writable.
|
Async<Void> |
TcpChannel.awaitWritable()
Wait till this channel becomes writable.
|
Async<Void> |
TcpConnection.close(Duration drainTimeout)
Close this connection.
|
Async<TcpChannel> |
TcpClient.connect(String peerHost,
InetAddress ip,
int port)
Connect to a remote server.
|
Async<TcpConnection> |
TcpTunnel.tunnelTo(TcpConnection connection,
String host,
int port)
Tunnel to the remote host:port.
|
Async<TcpConnection> |
Socks5Tunnel.tunnelTo(TcpConnection tcpConn,
String host,
int port) |
| Constructor and Description |
|---|
Socks5Tunnel(TcpAddress address,
boolean remoteDns,
Supplier<Async<UserPass>> userPassSupplier)
Create a SOCKS5 tunnel.
|
| Modifier and Type | Method and Description |
|---|---|
Async<Void> |
TextByteSource.close() |
Async<ByteBuffer> |
TextByteSource.read() |
| Modifier and Type | Interface and Description |
|---|---|
interface |
Result<T>
The result of an action,
which is either a success or a failure.
|
| Modifier and Type | Method and Description |
|---|---|
static <T> Async<T> |
End.async()
Return an `Async<T>` that immediately fails with an
End exception. |
| Modifier and Type | Class and Description |
|---|---|
static class |
WebSocketResponse.Accept
To accept the handshake.
|
static class |
WebSocketResponse.Reject
To reject the handshake.
|
| Modifier and Type | Method and Description |
|---|---|
Async<Void> |
WebSocketChannel.close()
Close the channel.
|
Async<WebSocketResponse> |
WebSocketHandler.handle(WebSocketRequest request)
Handle a WebSocket handshake request.
|
Async<WebSocketResponse> |
HotWebSocketHandler.handle(WebSocketRequest request)
Handle a WebSocket request.
|
default Async<ByteBuffer> |
WebSocketChannel.readBinary(int maxBytes)
Read the next binary message into one ByteBuffer.
|
Async<WebSocketMessage> |
WebSocketChannel.readMessage()
Read the next message from the peer.
|
default Async<String> |
WebSocketChannel.readText(int maxChars)
Read the next text message as one String.
|
default Async<Long> |
WebSocketChannel.writeBinary(byte[] bytes)
Write a binary message to the peer.
|
Async<Void> |
WebSocketChannel.writeClose()
Close the outbound gracefully.
|
Async<Long> |
WebSocketChannel.writeMessage(WebSocketMessage message)
Write a message to the peer.
|
default Async<Long> |
WebSocketChannel.writeText(CharSequence chars)
Write a text message to the peer.
|
| Modifier and Type | Method and Description |
|---|---|
FunctionX<WebSocketChannel,Async<?>> |
WebSocketResponse.Accept.getChannelHandler()
The channelHandler.
|
| Modifier and Type | Method and Description |
|---|---|
static WebSocketResponse.Accept |
WebSocketResponse.accept(FunctionX<WebSocketChannel,Async<?>> channelHandler)
Create an Accept response.
|
| Constructor and Description |
|---|
Accept(String subprotocol,
FunctionX<WebSocketChannel,Async<?>> channelHandler)
Create an Accept response.
|


Main Page
About
Cast and Crew
Reviews
Already Watched?
Mystery House
Halloween 2020 Exclusive
Already Watched this Movie? You can...
Subscribe to Our Newsletter!
Please enter your email:
Leave a Review Here!
Please enter your name:
Please enter your ranking from 1-5:
Please enter your comments:
Submit!


27 Jul 2020 Marta Paes (@morsapaes)
As July draws to an end, we look back at a monthful of activity in the Flink community, including two releases (!) and some work around improving the first-time contribution experience in the project.
Also, events are starting to pick up again, so we’ve put together a list of some great ones you can (virtually) attend in August!
The Past Month in Flink
Flink Releases
Flink 1.11
A couple of weeks ago, Flink 1.11 was announced in what was (again) the biggest Flink release to date (see “A Look Into the Evolution of Flink Releases”)! The new release brought significant improvements to usability as well as new features to Flink users across the API stack. Some highlights of Flink 1.11 are:
-
Unaligned checkpoints to cope with high backpressure scenarios;
-
The new source API, that simplifies and unifies the implementation of (custom) sources;
-
Support for Change Data Capture (CDC) and other common use cases in the Table API/SQL;
-
Pandas UDFs and other performance optimizations in PyFlink, making it more powerful for data science and ML workloads.
For a more detailed look into the release, you can recap the announcement blogpost and join the upcoming meetup on “What’s new in Flink 1.11?”, where you’ll be able to ask anything release-related to Aljoscha Krettek (Flink PMC Member). The community has also been working on a series of blogposts that deep-dive into the most significant features and improvements in 1.11, so keep an eye on the Flink blog!
Flink 1.11.1
Shortly after releasing Flink 1.11, the community announced the first patch version to cover some outstanding issues in the major release. This version is particularly important for users of the Table API/SQL, as it addresses known limitations that affect the usability of new features like changelog sources and support for JDBC catalogs.
You can find a detailed list with all the improvements and bugfixes that went into Flink 1.11.1 in the announcement blogpost.
Gearing up for Flink 1.12
The Flink 1.12 release cycle has been kicked-off last week and a discussion about what features will go into the upcoming release is underway in this @dev Mailing List thread. While we wait for more of these ideas to turn into proposals and JIRA issues, here are some recent FLIPs that are already being discussed in the Flink community:
| FLIP | |
|---|---|
| FLIP-130 |
Python support in Flink has so far been bounded to the Table API/SQL. These APIs are high-level and convenient, but have some limitations for more complex stream processing use cases. To expand the usability of PyFlink to a broader set of use cases, FLIP-130 proposes to support it also in the DataStream API, starting with stateless operations. |
| FLIP-132 |
Flink SQL users can't currently create temporal tables using SQL DDL, which forces them to change context frequently for use cases that require them. FLIP-132 proposes to extend the DDL syntax to support temporal tables, which in turn will allow to also bring temporal joins with changelog sources to Flink SQL. |
New Committers and PMC Members
The Apache Flink community has welcomed 2 new PMC Members since the last update. Congratulations!
New PMC Members
The Bigger Picture
A Look Into the Evolution of Flink Releases
It’s been a while since we had a look at community numbers, so this time we’d like to shed some light on the evolution of contributors and, well, work across releases. Let’s have a look at some git data:
If we consider Flink 1.8 (Apr. 2019) as the baseline, the Flink community more than tripled the number of implemented and/or resolved issues in a single release with the support of an additional ~100 contributors in Flink 1.11. This is pretty impressive on its own, and even more so if you consider that Flink contributors are distributed around the globe, working across different locations and timezones!
First-time Contributor Guide
Flink has an extensive guide for code and non-code contributions that helps new community members navigate the project and get familiar with existing contribution guidelines. In particular for code contributions, knowing where to start can be difficult, given the sheer size of the Flink codebase and the pace of development of the project.
To better guide new contributors, a brief section was added to the guide on how to look for what to contribute and the starter label has been revived in Jira to highlight issues that are suitable for first-time contributors.
Note As a reminder, you no longer need to ask for contributor permissions to start contributing to Flink. Once you’ve found something you’d like to work on, read the contribution guide carefully and reach out to a Flink Committer, who will be able to help you get started.
Replacing “charged” words in the Flink repo
The community is working on gradually replacing words that are outdated and carry a negative connotation in the Flink codebase, such as “master/slave” and “whitelist/blacklist”. The progress of this work can be tracked in FLINK-18209.
Upcoming Events (and More!)
We’re happy to see the “high season” of virtual events approaching, with a lot of great conferences taking place in the coming month, as well as some meetups. Here, we highlight some of the Flink talks happening in those events, but we recommend checking out the complete event programs!
As usual, we also leave you with some resources to read and explore.
| Category | |
|---|---|
| Events |
Change Data Capture with Flink SQL and Debezium Sweet Streams are Made of These: Data Driven Development with Stream Processing
|
| Blogposts |
|
Flink Packages |
Flink Packages is a website where you can explore (and contribute to) the Flink |
If you’d like to keep a closer eye on what’s happening in the community, subscribe to the Flink @community mailing list to get fine-grained weekly updates, upcoming event announcements and more.


| Order Summary | |||
|
Nike Free Run 3.0 Women Color:Grey/Orange,Size:10.5 |
|||
| $99.95 | |||
|
American Tourister Vintage Backpack Color:Olive, Size: 20L |
|||
| $235.95 | |||
|
Monobento Double Lunchbox Color:Pink, Size: Medium |
|||
| $25.95 | |||
| VAT 19% Delivery TOTAL |
$68.75 $4.95 $435.55 |


I remember playing a game called "Ad Lib" in my childhood; a seemingly regular text with words replaced by a blank, accompanied, usually, with the words' part of speech. After finding words that fit each blank's conditions, one ends up with a (usually) pretty funny text that is gramatically correct, but sounds totally wrong anyway.
Below is an example of an ad-lib-like form that can be created using the JavaScript file I've written; please try it out--simply fill in each text box, and then press "Ad Lib!" to see the result.
If you are interested in this ad lib idea, and would like to try customizing it, you can <<TODO: set up things so they are a bit more reusable, then complete this sentence...>>
If you come up with a good ad lib, please send me the file or a link. I'll be looking forward to seeing a good one...


Chapter 8 Matrix Operations
In this chapter you will learn about some of the common arithmetic operations (addition, subtraction, and multiplication) that can be performed with matrices.
8.1 Matrix Addition and Subtraction
Two or more matrices can be added or subtracted if they have the same dimensions; if not, matrix addition and subtraction is undefined. Just as in vector addition, each corresponding element is added or subtracted and placed in the corresponding location in the new matrix. Consider the following two matrices:
\[ \mathbf{A} = \begin{bmatrix} 112 & 86 & 0 \\ 134 & 94 & 0 \end{bmatrix} \qquad \mathbf{B} = \begin{bmatrix} 101 & 89 & 1 \\110 & 90 & 0 \end{bmatrix} \]
Then
\[ \begin{split} \mathbf{A} + \mathbf{B} &= \begin{bmatrix} 112 & 86 & 0 \\ 134 & 94 & 0 \end{bmatrix} + \begin{bmatrix} 101 & 89 & 1 \\110 & 90 & 0 \end{bmatrix} \\[2em] &= \begin{bmatrix} 112 + 101 & 86+89 & 0+1 \\ 134+110 & 94+90 & 0+0 \end{bmatrix} \\[2em] &= \begin{bmatrix} 213 & 175 & 1 \\ 244 & 184 & 0 \end{bmatrix} \end{split} \]
In general, the elements in the summed matrix, C, are defined as \(\mathbf{C}_{ij}=\mathbf{A}_{ij} + \mathbf{B}_{ij}\) for all i and j. Since subtraction is equivalent to adding the inverse, subtracting the elements of B from A is equivalent to adding the inverted elements of B to the elements of A (where “inverting the elements” means switching the sign on each element).
\[ \begin{split} \mathbf{A} - \mathbf{B} &= \begin{bmatrix} 112 & 86 & 0 \\ 134 & 94 & 0 \end{bmatrix} + \begin{bmatrix} -101 & -89 & -1 \\-110 & -90 & 0 \end{bmatrix} \\[2em] &= \begin{bmatrix} 11 & -3 & -1 \\ 24 & 4 & 0 \end{bmatrix} \end{split} \]
Computationally, we can use the +
and -
operators in R to add and subtract matrices.
# Create A
= matrix(data = c(112, 86, 0, 134, 94, 0), byrow = TRUE, nrow = 2)
A
# Create B
= matrix(data = c(101, 89, 1, 110, 90, 0), byrow = TRUE, nrow = 2)
B
# Matrix addition
+ B A
[,1] [,2] [,3]
[1,] 213 175 1
[2,] 244 184 0
# Matrix Subtraction
- B A
[,1] [,2] [,3]
[1,] 11 -3 -1
[2,] 24 4 0
8.1.1 Properties of Matrix Addition
Matrix addition satisfies both the commutative and associative properties. That is,
\[ \mathbf{A} + \mathbf{B} = \mathbf{B} + \mathbf{A} \]
and
\[ \begin{split} \mathbf{A} + (\mathbf{B} + \mathbf{C}) &= (\mathbf{A} + \mathbf{B}) + \mathbf{C} \\[2ex] &= \mathbf{A} + \mathbf{B} + \mathbf{C} \end{split} \]
8.1.2 Deviation Matrix
We have seen that deviation scores are particularly useful in statistics. We can create a deviation matrix by taking a score matrix and subtracting from it a matrix of means, where each column contains the mean for each corresponding column in the original matrix, that is:
\[ \mathbf{D} = \mathbf{X} - \mathbf{M} \]
For example, consider the following score matrix:
\[ \mathbf{X} = \begin{bmatrix} 3.0 & 11 & 112 \\ 3.9 & 10 & 143 \\ 2.9 & 19 & 124 \\ 2.7 & 7 & 129 \end{bmatrix} \] To compute the mean deviation matrix, D we use:
\[ \begin{split} \mathbf{D} &= \mathbf{X} - \mathbf{M} \\[2em] &= \begin{bmatrix} 3.0 & 11 & 112 \\ 3.9 & 10 & 143 \\ 2.9 & 19 & 124 \\ 2.7 & 7 & 129 \end{bmatrix} - \begin{bmatrix} 3.125 & 11.75 & 127 \\ 3.125 & 11.75 & 127 \\ 3.125 & 11.75 & 127 \\ 3.125 & 11.75 & 127 \end{bmatrix} \\[2em] &= \begin{bmatrix} -0.125 & -0.75 & -15 \\ 0.775 & -1.75 & 16 \\ -0.225 & 7.25 & -3 \\ -0.425 & -4.75 & 2 \end{bmatrix} \end{split} \]
Computationally, we can use the colMeans()
function to compute the mean in each column of X. Then we can create matrix M by using the rep()
function to repeat this set of means four times. (There are four rows in M that have the exact same elements.)
# Create X
= matrix(data = c(3.0, 11, 112, 3.9, 10, 143, 2.9, 19, 124, 2.7, 7, 129), byrow = TRUE, nrow = 4)
X X
[,1] [,2] [,3]
[1,] 3.0 11 112
[2,] 3.9 10 143
[3,] 2.9 19 124
[4,] 2.7 7 129
# Compute column means
colMeans(X)
[1] 3.125 11.750 127.000
# Create M
= matrix(rep(colMeans(X), 4), byrow = TRUE, nrow =4)
M M
[,1] [,2] [,3]
[1,] 3.125 11.75 127
[2,] 3.125 11.75 127
[3,] 3.125 11.75 127
[4,] 3.125 11.75 127
# Compute deviation matrix
- M X
[,1] [,2] [,3]
[1,] -0.125 -0.75 -15
[2,] 0.775 -1.75 16
[3,] -0.225 7.25 -3
[4,] -0.425 -4.75 2
8.2 Scalar–Matrix Multiplication
Any matrix can be multiplied by a scalar. The result is a matrix in which each element in the original matrix is multiplied by the value of the scalar. For example to multiply matrix A (from the previous section) by a scalar \(\lambda = -2\),
\[ \begin{split} -2\mathbf{A} &= -2\begin{bmatrix} 112 & 86 & 0 \\ 134 & 94 & 0 \end{bmatrix} \\[2em] &= \begin{bmatrix} -2(112) & -2(86) & -2(0) \\ -2(134) & -2(94) & -2(0) \end{bmatrix} \\[2em] &= \begin{bmatrix} -224 & -172 & 0 \\ -268 & -188 & 0 \end{bmatrix} \end{split} \] In general the elements of the product matrix, \(\lambda\mathbf{A}\), are \(\lambda (a_{ij})\) for every i and j. Scalar–matrix multiplication is commutative, that is:
\[ \lambda\mathbf{A} = \mathbf{A}\lambda \]
In R we use the *
operator to perform scalar–matrix multiplication.
-2 * A
[,1] [,2] [,3]
[1,] -224 -172 0
[2,] -268 -188 0
8.3 Matrix Multiplication
The process of multiplying matrices follows the same basic principle as vector multiplication, where we consider matrices to be a collection of column vectors. When we multiply vectors, they must have the same number of elements because we multiply corresponding elements and add the resulting products, obtaining a scalar (dot) product (i.e., \(\mathbf{a}\bullet\mathbf{b}\)). To multiply matrix X by matrix Y, we are going to compute the dot product between each row in X and each column in Y, that is, \(\mathbf{x}^\intercal_{j}\bullet\mathbf{b}_j\). As an example, consider the following two matrices:
\[ \mathbf{X} = \begin{bmatrix} 2 & 3 \\ 1 & 2 \end{bmatrix} \qquad \mathbf{Y} = \begin{bmatrix} 5 & -2 \\ 4 & -1 \end{bmatrix} \]
To complete the multiplication of XY, we compute the dot product between the first row of X and the first column of Y (i.e., \(\mathbf{X}_1^\intercal\bullet\mathbf{Y}_1\)).
\[ \begin{split} \begin{bmatrix}2 & 3\end{bmatrix}\begin{bmatrix}5 \\ 4\end{bmatrix} &= 2(5) + 3(4)\\[2em] &= 22 \end{split} \]
This gives us the element in the first row and first column of the product matrix, Z. The element in the first row and second column of Z is based on the dot product between the the first row of X and the second column of Y. This continues, finding the dot product between rows of X and columns of Y for each corresponding element in Z.
\[ \begin{split} \mathbf{Z} &= \begin{bmatrix}\begin{bmatrix}2 & 3\end{bmatrix}\begin{bmatrix}5 \\ 4\end{bmatrix} & \begin{bmatrix}2 & 3\end{bmatrix}\begin{bmatrix}-2 \\ -1\end{bmatrix} \\ \begin{bmatrix}1 & 2\end{bmatrix}\begin{bmatrix}5 \\ 4\end{bmatrix} & \begin{bmatrix}1 & 2\end{bmatrix}\begin{bmatrix}-2 \\ -1\end{bmatrix}\end{bmatrix}\\[2em] &= \begin{bmatrix} 22 & -7 \\ 13 & -4 \end{bmatrix} \end{split} \]
This process must always be carefully followed: Finding the dot product between a row of the first matrix and a column of the second matrix. The general rule on matrix multiplication for \(\mathbf{AB} = \mathbf{C}\), for each element in C, \(C_{ij}\) is the dot product of the ith row of A and the jth column of B.
To compute the product between two matrices we use the matrix multiplication operator, %*%
.
# Create A
= matrix(data = c(2, 3, 1, 2), byrow = TRUE, nrow = 2)
A
# Create B
= matrix(data = c(5, -2, 4, -1), byrow = TRUE, nrow = 2)
B
# Matrix multiplication
%*% B A
[,1] [,2]
[1,] 22 -7
[2,] 13 -4
In contrast to scalar multiplication, matrix multiplication is rarely commutative, that is, it is rare that \(\mathbf{AB}=\mathbf{BA}\). In our previous example, \(\mathbf{AB}\neq\mathbf{BA}\).
# Matrix multiplication
%*% A B
[,1] [,2]
[1,] 8 11
[2,] 7 10
The resulting product is not the same as computing AB. The order of the multiplication is quite important, so rather than saying that “A is multiplied by B,” we instead specify the order by saying:
- A is postmultiplied by B; or
- B is premultiplied by A.
<IP_ADDRESS> Conformability
We can also multiply matrices that are not of equal dimensions, as long as they are conformable. To be conformable, the number of columns in the premultiplied (first) matrix must equal the number of rows in the postmultiplied (second) matrix. For example, matrices A and B (below) are conformable since the number of columns in A is equal to the number of rows in B, namely 4.
\[ \underset{2\times4}{\mathbf{A}} = \begin{bmatrix} 5 & 2 & 3 & 4 \\ 5 & 4 & 6 & 1 \end{bmatrix} \qquad \underset{4\times3}{\mathbf{B}} = \begin{bmatrix} 8 & 9 & 4 \\ 6 & 5 & 1 \\ 2 & 3 & 4 \\ 6 & 1 & 2 \end{bmatrix} \]
One way to consider conformability is to ensure that the inner dimensions of the two matrices being multiplied are equal. Here the inner dimensions (shown in red) are both 4.
\[ \underset{2\times\color{red}{4}}{\mathbf{A}}~\underset{{\color{red}{4}} \times3}{\mathbf{B}} \]
# Create A
= matrix(data = c(5, 2, 3, 4, 5, 4, 6, 1), byrow = TRUE, nrow = 2)
A
# Create B
= matrix(data = c(8, 9, 4, 6, 5, 1, 2, 3, 4, 6, 1, 2), byrow = TRUE, nrow = 4)
B
# Postmultiply A by B
%*% B A
[,1] [,2] [,3]
[1,] 82 68 42
[2,] 82 84 50
Notice the product AB has dimensions of \(2\times4\), which are the outer dimensions shown in the product (below in red).
\[ \underset{{\color{red}{2}} \times4}{\mathbf{A}}~\underset{4\times\color{red}{3}}{\mathbf{B}} \]
If we tried to postmultiply B by A, that product is not conformable since the inner dimensions would no longer match (i.e., \(3\neq2\)).
\[ \underset{4\times\color{red}{3}}{\mathbf{B}} ~ \underset{{\color{red}{2}}\times4}{\mathbf{A}} \]
# Postmultiply B by A
%*% A B
Error in B %*% A: non-conformable arguments
8.3.1 Properties of Matrix Multiplication
Although matrix multiplication is rarely commutative, it does have the following properties:
- \(\mathbf{A}(\mathbf{BC})=(\mathbf{AB})\mathbf{C})\) (Associative Property)
- \(\mathbf{A}(\mathbf{B}+\mathbf{C})=\mathbf{AB} +\mathbf{AC})\) (Left Distributive Property)
- \((\mathbf{B}+\mathbf{C})\mathbf{A}=\mathbf{BA} +\mathbf{CA})\) (Right Distributive Property)
so long as the matrices being considered are conformable.
Aside from commutativity, there are also some other properties that matrix multiplication lack. For example, in scalar arithmetic, if \(ab = 0\), then either a or b must be zero. In matrix multiplication, however, this is not always the case. To illustrate, consider the following three matrices:
\[ \mathbf{A} = \begin{bmatrix}-2 & 4 \\-2 & 4 \end{bmatrix} \qquad \mathbf{B} = \begin{bmatrix}0 & 0 \\0 & 0 \end{bmatrix} \qquad \mathbf{C} = \begin{bmatrix}4 & 4 \\2 & 2 \end{bmatrix} \]
Matrix B, in which every element is zero is called the null matrix. (A null matrix is a matrix in which every element is zero.) If we postmultiply matrix A by the null matrix B, we get:
\[ \begin{split} \mathbf{A}\mathbf{B} &= \begin{bmatrix}-2 & 4 \\-2 & 4 \end{bmatrix} \begin{bmatrix}0 & 0 \\0 & 0 \end{bmatrix} \\[2em] &= \begin{bmatrix}0 & 0 \\0 & 0 \end{bmatrix} \end{split} \]
The result of postmultiplying a matrix (so long as it is conformable) by the null matrix is a null matrix. This is also true when we premultiply by a null matrix. Now consider postmultiplying matrix A by matrix C:
\[ \begin{split} \mathbf{A}\mathbf{C} &= \begin{bmatrix}-2 & 4 \\-2 & 4 \end{bmatrix} \begin{bmatrix}4 & 4 \\2 & 2 \end{bmatrix} \\[2em] &= \begin{bmatrix}0 & 0 \\0 & 0 \end{bmatrix} \end{split} \]
We again obtain a null matrix. However, neither A nor C was a null matrix. (In fact, none of the elements of A or C were zero).
Relatedly, in scalar arithmetic, if \(ab = 0\), then \(ba = 0\). This property does not hold in matrix multiplication. For example, we just saw that \(\mathbf{A}\mathbf{C}=\mathbf{0}\). But, if we postmultiply C by A:
\[ \begin{split} \mathbf{C}\mathbf{A} &= \begin{bmatrix}4 & 4 \\2 & 2 \end{bmatrix}\begin{bmatrix}-2 & 4 \\-2 & 4 \end{bmatrix} \\[2em] &= \begin{bmatrix}-16 & 16 \\-8 & 8 \end{bmatrix} \end{split} \]
That is, although \(\mathbf{A}\mathbf{C}=\mathbf{0}\), \(\mathbf{C}\mathbf{A}\neq\mathbf{0}\). Changing the order of the matrix multiplication changes the resulting product.
Drawing from this example we see that since \(\mathbf{AB}=\mathbf{0}\) and \(\mathbf{AC}=\mathbf{0}\), this means that \(\mathbf{AB}=\mathbf{AC}\). However, \(\mathbf{B}\neq\mathbf{C}\). This implies that “cancellation” is not a valid property of matrix multiplication.
8.3.2 Revisiting Dot Products
It turns out that we can express the dot product between two vectors as matrix multiplication. Consider the column vectors a and b:
\[ \mathbf{a} = \begin{bmatrix}5 \\ 4 \\ 7 \\ 2\end{bmatrix} \qquad \mathbf{b} = \begin{bmatrix}1 \\ 0 \\ -1 \\ 2\end{bmatrix} \]
Remember column vectors are matrices with one column. The dot product between a and b is the same as premultiplying b by the transpose of a, that is:
\[ \mathbf{a}\bullet\mathbf{b} = \underset{1\times4}{\mathbf{a}^\intercal}~\underset{4\times1}{\mathbf{b}} \]
By transposing a, the matrices are conformable, and the resulting product will be a \(1\times1\) matrix (i.e., a scalar).
# Create a
= matrix(data = c(5, 4, 7, 2), ncol = 1)
a
# Create b
= matrix(data = c(1, 0, -1, 2), ncol = 1)
b
# Postmultiply the transpose of a by b
t(a) %*% b
[,1]
[1,] 2
# Compute dot product as sum of products
sum(a * b)
[1] 2
8.4 Exercises
Consider the following matrices:
\[ \mathbf{X} = \begin{bmatrix}2 & 3 \\1 & 2 \end{bmatrix} \qquad \mathbf{Y} = \begin{bmatrix}3 & 4 \\2 & 1 \end{bmatrix} \qquad \mathbf{Z} = \begin{bmatrix}2 & 3 & 1 \\5 & 6 & 8\\9 & 4 & 7 \end{bmatrix} \]
- Find \(\mathbf{X} + \mathbf{Y}\).
- Find \(\mathbf{X} - \mathbf{Y}\).
- Find \(3 \mathbf{Z}\).
- Find \(-2 \mathbf{X} + 4\mathbf{Y}\).
Consider the following matrices:
\[ \mathbf{A} = \begin{bmatrix}0 & 6 \\5 & 1 \end{bmatrix} \qquad \mathbf{B} = \begin{bmatrix}0 & 5 \\2 & \frac{1}{2} \end{bmatrix} \qquad \mathbf{C} = \begin{bmatrix}6 & 2 & 1 \\5 & 3 & 1\\8 & 4 & 1 \end{bmatrix} \qquad \mathbf{D} = \begin{bmatrix}0& 1 & 4 & 6 \\1 & 2 & 5 & -2\\1 & 3 & 2 & 8 \end{bmatrix} \]
- Is AB conformable?
- Is BC conformable?
- Is the product where we premultiply D by C conformable?
Statistics Example: Weights
- Consider the scores for five students on four course exams (each out of 100 points) shown in matrix X. The final percentage in the course is based on the following weighting: the first and second exams are worth 10% of the course, the third exam is worth 30% of the course, and the fourth exam is worth 50% of the course. These weights are presented in the column vector w. Use R to find the final percentage for each student by postmultiplying the score matrix by the weight vector.
\[ \mathbf{X} = \begin{bmatrix}32 & 54 & 56 & 21 \\42 & 23 & 52 & 35 \\ 16 & 41 & 54 & 56 \\ 58 & 52 & 31 & 24 \\ 41 & 50 & 42 & 40 \end{bmatrix} \qquad \mathbf{w} = \begin{bmatrix} 0.10 \\ 0.10 \\ 0.30 \\ 0.50 \end{bmatrix} \]


SteamID lookup
Look up Steam™ users by their Steam IDs (ID3 and ID64 too), logins and vanity URLs
Detection preferences:
default
oldFirst
Paste some kind of SteamID below


Twisted thug left baby boy brain damaged in violent attack then blamed his dog
Paul Carlton has been jailed for 12 years after a court heard the child suffered life-changing injures and two years later he still can't crawl, walk or talk.
by Grant McCabeA twisted thug who tried to blame his puppy for a horror murder bid on a baby has been jailed for 12 years.
Paul Carlton violently shook the eight-week old boy leaving him with life changing brain injuries in August 2017.
The 25-year-old was supposedly looking after the child at Carlton's home in Nitshill, Glasgow.
Carlton claimed he had been briefly tidying his garden when he heard a cry from inside.
He told how he had left the boy in the flat in his baby swing alone with his two dogs.
Carlton described one of the pets – a cross American Bulldog-Staffordshire terrier puppy called Sapphire – as “boisterous”.
He said he could only “speculate” Sapphire seriously injured the baby as he did not do it.
But jurors found Carlton guilty of attempted murder and he was today sentenced at the High Court in Glasgow.
Lord Burns told him: “These cases are always tragic. The boy has been rendered helpless by your actions.
“He was as vulnerable a child as could possibly be imagined.
“You have tried to deflect responsibility by various means but the jury found you guilty.
“He is now wholly dependent on his mother and others.”
The boy had been in and out of hospital since he was 10 days old.
Carlton was looking after the boy on August 9, 2017, while the child's mum went for a beauty appointment and lunch with her sister.
The baby had been checked by a health visitor that morning and found to be fine.
Carlton had actually sent the woman a video of her son while she was out. He was waving and kicking his legs.
The mum left her son that day at 12.58pm – by 2.29pm Carlton was dialling 999.
Carlton told jurors he had been out in the garden when he heard a “loud cry”.
He claimed he went back indoors and realised something was wrong.
Carlton: “He was not opening his eyes properly.” Carlton's grandparents visited and agreed the child needed medical help.
The baby was found to have suffered massive brain damage.
Professor Robin Sellar – a neuro-radiologist – was asked in court how the injuries could have occurred.
He told jurors: “In that time frame, something very dramatic has happened. The injuries are consistent with a shaking injury.”
Carlton denied being responsible for what happened.
He said: “I would never hurt any child.”
Carlton claimed he was not “covering up” the attack and had not wanted to “end the life” of the baby.
Asked about his dog Sapphire, he then claimed she was a “very hyper puppy” at the time who “did not know her own strength”.
He said the pet had previously “cut and bruised” a little girl.
His lawyer Dale Hughes asked him: “If there was an example of this dog being potentially harmful, why let it near the boy?”
Carlton: “I thought because I had another dog she would learn from him and calm down possibly.”
Prosecutor Alan Cameron went on to point out the boy had no bite marks or cuts associated with a possible dog attack.
He put to Carlton: “The dog would have to have picked the boy up, shaken him with such vigour and put him back where he was or collide with him with such force.”
Carlton: “I understand where the hospital is coming from, but the only explanation I have is the dog as I know I did not harm the child.”
Mr Cameron: “The dog is just speculation?” He replied: “Yes.”
Jurors were told the child – now aged two – can not crawl, walk or talk.
It emerged during the trial Carlton had previously been violent to the boy's mum.
This included headbutting her causing her nose to bleed.


SHURUVAT / COLD SALADS
Green Salad
Rs. 70.00
Kachumbar salad
Rs. 80.00
Aloo Chat / Chana Chat
Rs. 100.00
Dahi Bella
Rs 110.00
SHORBA / SOUPS (Veg)
Tomatar Ka Shorba
Rs. 90.00
Bhutta Garlic Shorba
Rs. 90.00
Sweet Corn Soup
Rs. 110.00
Hot & Sour Soup
Rs. 110.00
Manchow Soup
Rs. 110.00
SHORBA / SOUPS (Non Veg)
Murg Shorba
Rs. 110.00
Yakhini Shorba
Rs. 110.00
Sweet Corn Chicken Soup
Rs. 120.00
Hot & Sour Chicken Soup
Rs. 120.00
Manchow Chicken Soup
Rs. 120.00
GARMA GARAM / HOT APPETIZERS (Veg)
Veg. Pakoras
Rs. 160.00
Paneer Pakoras
Rs. 170.00
Crispy Chilli Potato
Rs. 170.00
Baby Corn Mushroom Pepper
Rs. 190.00
Chilly Paneer
Rs. 180.00
Paneer Tikka
Rs. 200.00
Achari Paneer Tikka
Rs. 200.00
Paneer Seekh kebab
Rs. 200.00
Vegetable bullet kebab
Rs. 200.00
Hara bara kebab
Rs. 200.00
Tandoori Gobi
Rs 190.00
Assorted Tandoori Veg. platter
Rs. 290.00
GARMA GARAM / HOT APPETIZERS ( Non Veg)
Chicken Pakoras
Rs.210.00
Chicken Lollypop
Rs.210.00
Honey Glazed Chicken
Rs. 220.00
Tawa Murg
Rs.210.00
Chicken 65
Rs. 210.00
Mutton Kakuri Kebab
Rs. 250.00
Roasted Mutton
Rs 250.00
Crispy Lamb
Rs. 240.00
Fish Begum Bahar
Rs. 220.00
Fish Finger
Rs. 200.00
Saibo Squid
Rs. 240.00
Squid Pepper Salt
Rs. 240.00
Prawns pakoras
Rs. 270.00
Prawns Pepper Fry
Rs. 270.00
TANDOORI KHAZANA/ TANDOOR, (Non - Vegetarian)
Chicken Tikka
Rs. 250.00
Hariyali Tikka
Rs. 250.00
Chicken Lahori
Rs. 250.00
Chicken Rosted Kebab
Rs. 250.00
Chicken Pahadi Kebab
Rs. 250.00
Tandoori Chicken Full/Half
Rs. 520.00 / 290.00
Kalmi Kebab
Rs. 250.00
Reshmi Kebab
Rs. 250.00
Murg Mirch Kebab
Rs. 250.00
Boti Kebab
Rs. 290.00
Mutton Bara Kebab
Rs. 290.00
Fish Tikka
Rs. 290.00
Malai Fish Tikka
Rs. 290.00
Prawns Chilli milli Kebab
Rs. 450.00
Assorted Tandoori Platter
Rs. 520.00
CURRY DISHES (Vegetarian)
Dal Amritsari / Dal Bhukara
Rs. 160.00
Dal Tadka / Dal Fry
Rs. 160.00
Chana Masala
Rs. 160.00
Paneer Tikka Masala
Rs. 190.00
Paneer Butter Masala
Rs. 190.00
Palak Paneer
Rs. 190.00
Shahi Paneer
Rs. 190.00
Paneer Kofta
Rs. 180.00
Paneer Pasanda
Rs. 190.00
Kadai Gobi (Dry)
Rs. 180.00
Veg. Takatak
Rs. 180.00
Veg. Kolapuri
Rs. 180.00
Bhindi Masala (Dry)
Rs. 170.00
Aloo Mutter
Rs. 170.00
Mushroom Masala
Rs. 180.00
Mushroom Pepper Fry
Rs. 180.00
Baby Corn Masala
Rs. 180.00
CURRY DISHES Chicken/ Mutton
Butter chicken
Rs. 250.00
Chicken Tikka Masala
Rs. 250.00
Chicken Lababder
Rs. 250.00
Saag Murg
Rs. 250.00
Chicken Bartha
Rs. 260.00
Garam Masala Chicken
Rs. 260.00
Chicken Roganjosh
Rs. 260.00
Murg Hara Mirch Masala
Rs. 260.00
Chicken Pepper Fry (Dry)
Rs. 260.00
Toofani Chicken
Rs. 260.00
Ginger Chicken
Rs. 260.00
Mutton Roganjosh
Rs. 310.00
Kadai Mutton
Rs. 310.00
Mutton Musalam
Rs. 310.00
Mutton Bartha
Rs. 310.00
Handi Mutton
Rs. 310.00
Mutton Do Pyasa
Rs. 310.00
Mutton Pepper Fry (Dry)
Rs. 310.00
CURRY DISHES Sea Food/Egg
Fish Masala
Rs. 260.00
Fish Tikka Masala
Rs. 260.00
Kadai Fish
Rs. 260.00
Fish Punjabi
Rs. 260.00
Prawns Masala
Rs. 450.00
Prawns Malai Curry
Rs. 450.00
Prawns Do-pyaza
Rs. 450.00
Hyderabadi Prawns
Rs. 450.00
Andaa Masala
Rs. 130.00
Andaa Curry
Rs. 130.00
BIRIYANI/THALI/PULAO
Veg. Biriyani
Rs. 140.00
Fish Biriyani
Rs. 170.00
Chicken Biriyani
Rs. 170.00
Mutton Biriyani
Rs. 200.00
Prawns Biriyani
Rs. 270.00
THALI (Served only Lunch) Except Sunday
Veg Thali (12.00 PM to 3.30 PM)
Rs. 150.00
Non - Veg Thali (12.00 PM to 3.30 PM)
Rs. 170.00
Steam Rice
Rs. 80.00
Jeera Rice
Rs. 120.00
Pulao (Veg/Paneer/Matar/Mushroom)
Rs. 130.00
Kashmeeri Pulao
Rs. 130.00
Saffron Rice
Rs. 130.00
ROTI
Tandoori Roti
Rs. 30.00
Tandoori Butter Roti
Rs. 35.00
Missi Roti
Rs. 35.00
Romali Roti
Rs. 40.00
Naan
Rs. 35.00
Butter Naan
Rs. 45.00
Cheese Garlic Naan
Rs. 55.00
Cheese Naan
Rs. 50.00
Onion Naan
Rs. 40.00
Peshwari Naan
Rs. 50.00
Kulcha (Masala / Paneer / Cheese
Rs. 60.00
Chicken Kulcha
Rs. 80.00
Mutton Keema Kulcha
Rs. 90.00
Laacha Paratha (Methi / Pudina)
Rs. 50.00
Hyderabadi Paratha
Rs. 60.00
Tandoori Bread Basket
Rs. 190.00
Raita (Cucumber / Boondi / Pineapple)
Rs. 40.00
Dahi
Rs. 40.00
Masala Pappad / Roasted Pappad
Rs. 40.00
CHINESE
Kung Pao Veg
Rs. 210.00
Szechuan Tofu
Rs. 250.00
Tshinghai Chicken
Rs. 260.00
Chicken Garlic & Pepper
Rs. 260.00
Kung Pao Chicken
Rs. 260.00
Lamb Black Pepper
Rs. 280.00
Hunan Lamb
Rs. 280.00
Chilly Fish
Rs. 260.00
Fish Garlic & Pepper
Rs. 260.00
Hakka Noodles
Veg - Rs. 130.00
Chicken - Rs.150.00
Mix - Rs.170.00
Szechuan Noodles
Veg - Rs. 130.00
Chicken - Rs.150.00
Mix - Rs.170.00
Yancho Fried Rice
Veg - Rs. 130.00
Chicken - Rs.150.00
Mix - Rs.170.00
Szechuan Fried Rice
Veg - Rs. 130.00
Chicken - Rs.150.00
Mix - Rs.170.00
Egg Fried Rice
Rs. 140.00
Chop suey American/Chinese/Szechwan
Veg - Rs. 190.00
Chicken - Rs.210.00
Mix - Rs.230.00
DESSERTS / INDIAN BEVERAGES
Ice Cream
Rs. 80.00
Phirni
Rs. 80.00
Gulab Jamun
Rs. 80.00
Gulab Jamun with ice cream
Rs. 100.00
Fried Ice Cream
Rs. 90.00
Lassi (Salt / Sweet / Plain)
Rs. 70.00
Mango Lassi
Rs. 90.00
Indian Lemonade
Rs. 50.00
Fresh Lime Juice
Rs. 25.00
Fresh Lime Soda
Rs. 35.00
Jaljeera
Rs. 35.00
Ice Tea
Rs. 80.00
Masala Chai
Rs. 30.00
Aquafina (1000ml)
Rs. 25.00


EMCS Greenhouse
Dashboard
Deploy Rules
Settings
Actuator Settings
Update
Help
About Us
Neural Network Training
Train
Predictions
Accuracy Charts


| Overview |
Namespace |
Class |
Index |
Help |
:: namespace rtl
Structs
|
| OStringHash |
A helper to use OStrings with hash maps.
|
| OUStringHash |
A helper to use OUStrings with hash maps.
|
Functions
|
OUString
OStringToOUString( const OString & rStr, rtl_TextEncoding encoding, sal_uInt32 convertFlags = OSTRING_TO_OUSTRING_CVTFLAGS ); |
Convert an OString to an OUString, using a specific text encoding.
|
OString
OUStringToOString( const OUString & rUnicode, rtl_TextEncoding encoding, sal_uInt32 convertFlags = OUSTRING_TO_OSTRING_CVTFLAGS ); |
Convert an OUString to an OString, using a specific text encoding.
|
Top of Page
Copyright © 2012, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


BigBio Bioinformatics Stack is a group of software projects, libraries, packages, workflows developed to analysis multiomics data
If you like like our tools and libraries please Start our repositories and get in contact with us❤
Created by BigBio Team


Weather Dashboard
Search
Temperature:
Humidity:
Wind Speed:
UV:
5-Day Forecast:
Temp:
Humidity:
Temp:
Humidity:
Temp:
Humidity:
Temp:
Humidity:
Temp:
Humidity:
-->


Description
DEWAG make Battery Discharge Indicator is designed to
monitor the health of a battery by monitoring its terminal voltage
under loaded condition. It operates directly from the battery being
monitored and provides visual indication of the battery status by 3
colored LEDs. The unit can be configured to operate for 24V or 30V
or 36V batteries, by simply installing shorting link at the back,
thereby reducing the inventory cost of using different units for
different voltages. It is ideal for use in material handling
vehicles such as pallet trucks, walkies, stackers and order pickers
as well as other battery operated gadgets.
Features
- Tri colored (Green, Yellow & Red) LEDs to display state of
charge with unique symbols
- The top Red LED illuminates only when the battery charge
drops below 80%
- The bottom Green LED illuminates when the battery is fully
charged
- Easy to install
- One unit for 24/30/36V batteries
- Battery voltage selection by shorting link
- Minimum inventory of units
Dimensions
- Front Bezel: 77mm dia X 60mm depth behind the panel
- Panel Cutout: 70mm dia
- Mounting: By clamp at the back of the panel
Technical Specifications
- Supply Voltage:- 24V / 30V / 36V DC battery
- Shorting Link to select Supply Voltage
- Red LED: Battery Charge below 80%
- Amber LED: Battery Charge below 90%
- Green LED: Battery Charge 100%
Ordering Information


The Project POM
The POM (Project Object Model) is the fundamental unit of work in
Maven. It is an XML file that contains information about the project
and configuration details used by Maven to build the project. For more
information, visit the Introduction
to the POM on the official Maven Documentation.
To prepare your project to be built within the MiOS, do this two
steps:
- Create a pom.xml file, placed into your project-root folder as shown here.
- Adjust the groupId and the artifactId
in the pom.xml as suitable for your project. The
artifactId must be the same as your XCode project name.
- If your project has dependencies to other projects, they
should be added to the dependencies section. More
information on Dependency management.


Email:
Password:
Haven't got an account? Create one here
Name:
email:
FactBk Already have an account? Sign in
Feedback:
FactBk Close
Fact Title:
Fact Text:
Fact Lattitude:
Fact Longitude:
FactBk


Good Serial Inc.
问题描述 :
Good Serial Inc. (GSI) produces integer sequences with length N, in which every element is an integer in range [1, M].
They call a sequence S is good if the sequence has the following property: for every substring of S with length M, i.e., S[i -> i+m-1], all the elements in the substring are the same or all the elements are distinct(different from each other).
The company GIS is designed to produce good sequences. But how many different good sequences are there? Since the answer will be very large, just output the result after module 987654321.
They call a sequence S is good if the sequence has the following property: for every substring of S with length M, i.e., S[i -> i+m-1], all the elements in the substring are the same or all the elements are distinct(different from each other).
The company GIS is designed to produce good sequences. But how many different good sequences are there? Since the answer will be very large, just output the result after module 987654321.
输入:
There are several cases. For each case, there is a line with two integers N, and M ( 1 ≤ N ≤ 1000000, 1 ≤ M ≤ 1000000 ).
The input ends up with two negative numbers, which should not be processed as a case.
The input ends up with two negative numbers, which should not be processed as a case.
输出:
There are several cases. For each case, there is a line with two integers N, and M ( 1 ≤ N ≤ 1000000, 1 ≤ M ≤ 1000000 ).
The input ends up with two negative numbers, which should not be processed as a case.
The input ends up with two negative numbers, which should not be processed as a case.
样例输入:
4 4 3 5 -1 -1
样例输出:
28 125
#include<iostream> using namespace std; #define M 987654321 int n,m; __int64 deal(int m,int n) { int i,j; __int64 ans=1; if(m==1) return 1; if(n>=m) { if(m==2) { for(i=1;i<=n;i++) ans=ans*m%M; } else//return A(m,m)+m { for(i=1;i<=m;i++) ans=(ans*i)%M; ans+=m; } return ans; } else if(n<m) { for(i=1;i<=n;i++) ans=ans*m%M; return ans; } } int main() { while(scanf("%d%d",&n,&m)!=EOF&&!(n==-1&&m==-1)) { printf("%I64d/n",deal(m,n)); } }
参考：http://blog.csdn.net/abcjennifer/article/details/5800371
(adsbygoogle = window.adsbygoogle || []).push({});
都比不更了，多好看啊
都比不更了，多好看啊
都比不更了，多好看啊
都比不更了，多好看啊
都比不更了，多好看啊
都比不更了，多好看啊
都比不更了，多好看啊
已更正。
顺利测试通过了，多谢
给力，赞一个
很有用，收藏了
#pragma pack(2) 这个用法太坑爹
能不能说下这个是用的什么算法策略？
We do not harbor that I couldn’t remove other individuals’ problems whenever this arrived at.
多谢提醒，是漏掉了
这个分析相当全面，经典！
不考虑最后将结果排序的话，快排的时间复杂度是O(N) ，而堆排的是O(N*logK),这样比较看，快排快
没敢用map，总怕stl用着会超时
不错的网站，建议添加些比赛信息


N | |
| node [Search] | node is the type used to compose trees and graphs.
|
P | |
| problem [Search] | problem is a collection of problem-specific data.
|
R | |
| result [Search] | result is the type of the value returned by the search functions.
|
S | |
| strategy [Search] | strategy is a collection of data which defines the behavior of the search.
|


I'd like to monitor how much kWh my solar panels have produced so far today on emoncms.org. I already have beautiful bar charts showing daily total kWh, but the kWh total for the day only shows up after the current day is over. Is there a way I can generate a feed that shows up-to-the-minute accumulated kWh for the current day? The feed would have to reset to zero at the end of every day so it starts at zero for the next day. I've tried the "Reset to ZERO" process but there are no parameters to set so I'm not sure how this process works. Thanks for any ideas!
generating a "so far today" value
Submitted by sroof on Wed, 18/11/2015 - 21:22I'd like to monitor how much kWh my solar panels have produced so far today on emoncms.org. I already have beautiful bar charts showing daily total kWh, but the kWh total for the day only shows up after the current day is over. Is there a way I can generate a feed that shows up-to-the-minute accumulated kWh for the current day? The feed would have to reset to zero at the end of every day so it starts at zero for the next day. I've tried the "Reset to ZERO" process but there are no parameters to set so I'm not sure how this process works. Thanks for any ideas!


Requests that a statement be pooled or not pooled.
Syntax
public void setPoolable(boolean poolable) throws SQLException
Parameters
poolable
If true, requests that the statement be pooled. If false, requests that the statement not be pooled.
Exceptions
Remarks
The value specified in the poolable parameter is a hint to the statement pool implementation indicating if the application wants the statement to be pooled. The statement pool manager decides if it will use the hint.
A statement's pool value applies to both internal statement caches implemented by the driver and external statement caches implemented by application servers and other applications.
By default, a SQLServerStatement object is not poolable when created. SQLServerPreparedStatement and SQLServerCallableStatement objects are poolable when created.
SQLServerException is thrown if this method is called on a closed statement.
isPoolable returns a value indicating if the object is poolable.


JSON expression for IP:
Use a navigation expression consisting of JavaScript keys. The navigation expression must point to a key, where the IP address is located in the source JSON. You may use the wildcard "*" to specify that all the keys at the given depth have to be traversed.
Example: data.*.ip
This expression is equivalent to:
for (k in source.data) { process IP from source.data[k].ip }


{% extends "base_template.html" %} {% block title %}Modelr · Drawing{% endblock %} {% block content %}
This section describes the elements in the results section to allow you to modify, and inspect the results.
Use the scene selector drop down menu to switch between the two view styles:
Trace –Move the position of the wiggle trace along the spatial cross-seciton.
TWT –Move the vertical position of the horizontal green location of corresponding to the instantaneous amplitude plots.
Gain –Since Modeler, uses normalized wavelets, the synthetic data is a direct band-limited representation of the reflectivity of the earth model. The gain of the seismic display may need to be increased to make small reflectivity contrasts visible. Values range between 0 and 10. The default is 1.
Offset angle –Change the offset angle displayed on the cross-section and frequency gather panels. The default is zero; normal incidence. Change this slider to simulate the appearance of partial offset stacks.
Frequency – Modify the frequency content of your wavelet. For Ricker wavelets, the range of center frequencies is 8-85 Hz. Please note that center frequency is not the same as bandwidth. See Agile blog post: F-is-for-Frequency.
Phase – Rotate the phase of the model wavelet. The default, which is set to zero, represents a maximum positive value for downward increase in impedance across an interface.
Signal:noise (dB) – Add noise to your model by modifying the signal to noise ratio slider. Noise is applied in the frequency domain in proportion to the bandwidth of the signal.
Wavelet selector – Select from either Ricker or Ormsby wavelets. The Ricker wavelet is defined with a single center frequency using the Frequency slider.
Each domain has a corresponding area below the for plotting instantaneous amplitude values indicated by the horizontal green line. This is akin to an amplitude extraction at a specific two-way time. The instantaneous amplitude is plotted as a function of position, angle, and centre frequency for the spatial cross-section, angle gather, and wavelet gather respectively.
Use the TWT slider to change the position of the instantaneous amplitude plots to inspect:
The elastic properties of each rock contained within the earth model is returned in a table with SI units. The computed rock properties include:
You can export this table to a CSV (comma separated value) file for further analysis and using in other programs.


RBQEntityChangesObject Class Reference
| Inherits from | NSObject |
|---|---|
| Declared in | RBQRealmNotificationManager.h |
Overview
Class used by the RBQRealmNotificationManager to represent the change set for a given entity. This object is passed in the NSDictionary (keyed by the entity name) contained in the RBQNotificationBlock after a change to monitored Realm.
className
The class name of the entity
@property (readonly, nonatomic) NSString *className
Discussion
The class name of the entity
Declared In
RBQRealmNotificationManager.h
addedSafeObjects
Collection of RBQSafeRealmObjects representing the added objects
@property (readonly, nonatomic) NSSet *addedSafeObjects
Discussion
Collection of RBQSafeRealmObjects representing the added objects
Declared In
RBQRealmNotificationManager.h
deletedSafeObjects
Collection of RBQSafeRealmObjects representing the deleted objects
@property (readonly, nonatomic) NSSet *deletedSafeObjects
Discussion
Collection of RBQSafeRealmObjects representing the deleted objects
Declared In
RBQRealmNotificationManager.h
changedSafeObjects
Collection of RBQSafeRealmObjects representing the changed objects
@property (readonly, nonatomic) NSSet *changedSafeObjects
Discussion
Collection of RBQSafeRealmObjects representing the changed objects
Declared In
RBQRealmNotificationManager.h


“Turner's head ached. He felt of his hair. Blood was matted there. It was cold. The injury had occured too long ago to have been caused by the plane. Something had struck him before it came crashing through the trees. Part of the plane wreckage burst into flames, casting an eerie glow over the marshland, and making dancing, fantastic figures out of tree shadows. John Turner stood up. The plane had cut a clean path through the saplings and undergrowth. Parts of human bodies were scattered along in the narrow opening. Sawgrass was splotched with blood. He found it possible to move now, but his feet sank ankle deep in the mire.” — Lazar Levi, Mistress Of The Undead


Cards can be displayed in a group like so and uses display: flex;
to create a uniform look. Can be altered and adjusted easily. Follow's Bootstraps way of setting width manually (width: 18rem;
)
Well, the way they make shows is, they make one show. That show's called a pilot.
Mix 'n' Match Well, the way they make shows is, they make one show. That show's called a pilot.
Used as an alternative to image-based cards. Does not have any transitions or hover effects. Uses picture class instead of img as a parent, since it's a picture, not an img/icon
I honestly hate the fact that these little notifications are called 'toasts', so I'm renaming them to something much less cringey in the future
Used to display notifications to the user, usually in real time. It's in the bottom right corner. They overlay content, similar to ctas. Eventually, I'll add a colour system so you can do things like .danger, and .success for red and green toasts, respectively.
TriggerItem added to basket!
Next up, we have alerts. These are big toasts, meant for big threats or successess. They float and are persistent until the user dismisses them.
Again, eventually I'll add a colour system so you can do things like .danger, and .success for red and green toasts, respectively.Check yourself before you wreck yourself.
Placeholder for information like statstics, scores, ratings and so on. At a glance information. Comes in circular form.
60
%jQuery Modal "Remodal", thanks to VodkaBears. Add .remodal-bg
to body
or .container
or whatever for bg effects. Add #modal
to your trigger (href).
Tooltips reveal additional content on :hover
.
Do you see any Teletubbies in here? Do you see a slender plastic tag clipped to my shirt with my name printed on it? Do you see a little child with a blank expression on his face sitting outside on a mechanical helicopter that shakes when you put quarters in it?
Buttons, links, search tools and so on
Elegant styling, simple enough. Perfectly usable for everyone.
Do you see any Teletubbies in here? Do you see a slender plastic tag clipped to my shirt with my name printed on it? Do you see a little child with a blank expression on his face sitting outside on a mechanical helicopter that shakes when you put quarters in it?
Fabba-dabba-do! Used to draw the reader's attention to a particular action by floating over the bottom right corner of the view.
Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.


Planet Facts
There are 8 planets in our solar system, they are Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus and Neptune.
Planets in our solar system can be divided into two main groups, Terrestrial Planets and Gas Giants. Planets that orbit other stars are referred to as Exoplanets.
Size and Order of the Planets
There are 8 planets in our solar system, they are Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus and Neptune.
Planets in our solar system can be divided into two main groups, Terrestrial Planets and Gas Giants. Planets that orbit other stars are referred to as Exoplanets.
The order of the planets from closest to the Sun outwards is; Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus and finally Neptune.
The largest planet in the solar system is Jupiter, followed by Saturn, Uranus, Neptune, Earth, Venus, Mars with the smallest being Mercury.


-
staticNothing.from(value){Maybe}
-
Creates a new
Nothing
from a
value
. If the
value
is already a
Maybe
instance, the
value
is returned unchanged. Otherwise, a new
Nothing
is made with the
value
.
| Name |
Type |
Description |
value |
*
|
Value to wrap in a Nothing . |
Returns:
| Type |
Description |
|
Maybe
|
Maybe when is the value already wrapped or Nothing wrapped
value . |
Examples
Nothing from nothing
Nothing.from();
// => Nothing()
Nothing from arbitrary value
Nothing.from(true);
// => Nothing()
Nothing from Just
Nothing.from(Just.from(value));
// => Just.from(value)
Nothing from another Nothing
Nothing.from(Nothing.from());
// => Nothing()
-
-
Applies the function contained in the instance of a
Just
to the value contained in the provided
Just
, producing a
Just
containing the result. If the instance is a
Nothing
, the result
is the
Nothing
instance. If the instance is a
Just
and the provided
Maybe
is
Nothing
, the result is the provided
Nothing
.
| Name |
Type |
Description |
other |
Maybe
|
Value to apply to the function wrapped in the Just . |
Returns:
Example
Just#ap
const findPerson = curryN(3, Person.find); // Person.find(name, birthdate, address)
Just.from(findPerson) // => Just(findPerson)
.ap(Just.ofNullable(name)) // => Just(name)
.ap(Just.ofNullable(birthdate)) // => Just(birthdate)
.ap(Just.ofNullable(address)) // => Just(address)
.ifJust(console.log); // => Log Person.find() response
-
-
Applies the provided function to the value contained for a
Just
. The function should return the value
wrapped in a
Maybe
. If the instance is a
Nothing
, the function is ignored and then instance is
returned unchanged.
| Name |
Type |
Description |
method |
Chain.<Maybe>
|
The function to invoke with the value. |
Returns:
| Type |
Description |
|
Maybe
|
Maybe wrapped value returned by the provided method . |
Example
Just#chain
// Using lodash/fp/curry and get
const getConfigOption = curry((path, config) => Maybe.ofNullable(get(path, config));
Maybe.ofNullable(config)
.chain(getConfigOption("path.to.option"))
-
-
Determines whether or not the other
is equal in value to the current (this
). This is
not a reference check.
| Name |
Type |
Description |
other |
*
|
Other value to check. |
Returns:
| Type |
Description |
|
Boolean
|
true if the two Maybes are equal; false if not equal. |
Examples
Reflexivity
v1.equals(v1) === true;
// => true
Symmetry
v1.equals(v2) === v2.equals(v1);
// => true
Transitivity
(v1.equals(v2) === v2.equals(v3)) && v1.equals(v3)
// => true
-
-
Extends the Maybe. This is used for workflow continuation where the context has shifted.
| Type |
Description |
|
Extend.<Maybe>
|
method - The function to invoke with the value. |
Returns:
Example
Workflow continuation
// Workflow from makeRequest.js
const makeRequest = requestOptions => requestAsPromise(requestOptions)
.then(Just.from)
.catch(Nothing.from);
// Workflow from savePerson.js
const savePerson = curry((requestOptions, optionalPerson) => optionalPerson
.map(Person.from)
.map(person => set("body", person, requestOptions))
.map(makeRequest)
);
// Workflow from processResponse.js
const processResponse = optionalResponse => optionalResponse
.ifJust(console.log);
Maybe.ofNullable(person)
.extend(savePerson({ method: "POST" }))
.extend(processResponse);
-
-
Returns the value if the instance is a
Just
otherwise the
null
.
Returns:
Examples
Just#get
Just.from(value).get();
// => value
Nothing#get
Nothing.from().get();
// => null
-
-
Applies the provided function to the value contain for a
Just
. Any return value from the function is
ignored. If the instance is a
Nothing
, the function is ignored and the instance is returned.
| Name |
Type |
Description |
method |
Consumer
|
The function to invoke with the value. |
Returns:
| Type |
Description |
|
Maybe
|
Current instance. |
Examples
Just#ifJust
Just.from(value).ifJust(doSomething); // doSomething(value)
// => Just(value)
Nothing#ifJust
Nothing.from().ifJust(doSomething); // void
// => Nothing()
-
-
Applies the provided function to the value contain for a
Nothing
. Any return value from the function is
ignored. If the instance is a
Just
, the function is ignored and the instance is returned.
| Name |
Type |
Description |
method |
Callable
|
The function to invoke. |
Returns:
| Type |
Description |
|
Maybe
|
Current instance. |
Examples
Just#ifNothing
Just.from(value).ifNothing(doSomething); // void
// => Just(value)
Nothing#ifNothing
Nothing.from().ifNothing(doSomething); // doSomething()
// => Nothing()
-
-
Determines whether or not the instance is a
Just
.
Returns:
| Type |
Description |
|
Boolean
|
true if the instance is a Just ; false is not. |
Examples
Just
Just.from(value).isNothing();
// => true
Nothing#isJust
Nothing.from().isNothing();
// => false
-
-
Determines whether or not the instance is a
Nothing
.
Returns:
| Type |
Description |
|
Boolean
|
true if the instance is a Nothing ; false is not. |
Examples
Just#isNothing
Just.from(value).isNothing();
// => false
Nothing#isNothing
Nothing.from().isNothing();
// => true
-
-
Applies the provided function to the value contained for a
Just
which is, in turn, wrapped in a
Just
. If the instance is a
Nothing
, the function is ignored and then instance is returned
unchanged.
| Name |
Type |
Description |
method |
function
|
The function to invoke with the value. |
Returns:
| Type |
Description |
|
Maybe
|
Maybe wrapped value mapped with the provided method . |
Example
// Using lodash/fp/flow and sort
Just.from([1, 3, 2]).map(flow(sort, join(", ")));
// => Just("1, 2, 3")
Nothing.from().map(flow(sort, join(", ")));
// => Nothing()
-
-
- See:
-
-
-
Returns the value if the instance is a
Just
otherwise returns the value supplied if the instance is a
Nothing
.
| Name |
Type |
Description |
method |
Consumer
|
The function to invoke with the value. |
Returns:
Examples
Just#orElse
Just.from(value).orElse(otherValue);
// => value
Nothing#orElse
Nothing.from().orElse(otherValue);
// => otherValue
-
-
Return the value if the instance is a
Just
otherwise returns the value from the function provided.
| Name |
Type |
Description |
method |
Supplier
|
The function supplying the optional value. |
Returns:
Examples
Just#orElseGet
Just.from(value).orElseGet(getOtherValue);
// => value
Nothing#orElseGet
Nothing.from().orElseGet(getOtherValue);
// => otherValue
-
-
Returns the value if the instance is a
Just
otheriwse throws the
Error
supplied by the
function provided.
| Name |
Type |
Description |
method |
Supplier
|
The function to invoke with the value. |
Throws:
-
returned by the provided function.
-
-
Type
-
Error
Returns:
Examples
Just#orElseThrow
Just.from(value).orElseThrow(createException);
// => value
Nothing#orElseThrow
Nothing.from().orElseThrow(createException); // throw createException()
-
-
| Name |
Type |
Description |
either |
Either
|
Either implementation. |
Returns:
Examples
Just#toEither
const Either = require("lodash-fantasy/data/Either");
Just.from(value).toEither(Either);
// => Either.Right(value);
Nothing#toEither
const Either = require("lodash-fantasy/data/Either");
Nothing.from().toEither(Either);
// => Either.Left(null);
-
inherited
abstracttoPromise(promise){Promise}
-
Converts the Maybe to a Promise
using the provided Promise
implementation.
| Name |
Type |
Description |
promise |
Promise
|
Promise implementation. |
Returns:
| Type |
Description |
|
Promise
|
Promise wrapped value . |
Examples
Just#toPromise
const Bluebird = require("bluebird");
Just.from(value).toPromise(Bluebird);
// => Promise.resolve(value);
Nothing#toPromise
const Bluebird = require("bluebird");
Nothing.from().toPromise(Bluebird);
// => Promise.reject(null);
-
-
Returns a
String
representation of the
Maybe
.
Returns:
| Type |
Description |
|
String
|
String representation. |
Examples
Just#toString
Just.from(1).toString();
// => "Maybe.Just(1)"
Nothing#toString
Nothing.from().toString();
// => "Maybe.Nothing(null)"
-
-
| Name |
Type |
Description |
validation |
Validation
|
Validation implementation. |
Returns:
Examples
Just#toValidation
const Validation = require("lodash-fantasy/data/Validation");
Just.from(value).toValidation(Validation);
// => Validation.Success(value);
Nothing#toValidation
const Validation = require("lodash-fantasy/data/Validation");
Nothing.from().toValidation(Validation);
// => Validation.Failure([null]);


Furniture
- Tables & Chairs
- Sofas
- Occasional Furniture
- Childerns Furniture
- Beds
Decor
- Bed Linen
- Throws
- Curtains & Blinds
- Rugs
- Carpets
Storage
- Wall Shelving
- Kids Storage
- Baskets
- Multimedia Storage
- Floor Shelving
- Toilet Roll Holders
- Storage Jars
- Drawers
- Boxes
Focus
-
Alt
+
w
focuses the widget
Supported keys and user actions
-
up
arrow
highlights previous item
-
left
arrow
collapses the item
-
down
arrow
highlights next item
-
right
arrow
expands the item
-
home
highlights first item in the list
-
end
highlights last item in the list
-
enter
selects highlighted item


[1]
does a usb hing and video my swing.
[2]
does a usb hing and video my flip to even read the option of using 2 AA instead.


Tutorials
Uplift Modeling: from Causal Inference to Personalization at WebConf 2021 | web page
Personalization in Practice: Methods and Applications at WSDM 2021 | web page
Research projects
Predictive Business Process Monitoring with Structured and Unstructured Data
github | paper
Description: A framework for predictive process monitoring using both structured (categorical and numeric) and unstructured (textual) data and an experimental evaluation of different text models.
Skills: natural language processing, classification, LDA, Naive Bayes, doc2vec, random forest, logistic regression, Python, R, scikit-learn, gensim, pandas
Temporal Stability in Predictive Process Monitoring
github | paper
Description: Introducing the notion of temporal stability in predictive process monitoring. Experimental evaluation of different predictive monitoring techniques wrt. prediction accuracy, earliness, and temporal stability.
Skills: random forest, XGBoost, LSTM, classification, deep learning, Python, R, scikit-learn, pandas, Keras, GPU
Alarm-Based Prescriptive Process Monitoring
github | paper
Description: A framework for alarm-based prescriptive process monitoring. The proposed alarming mechanism takes as input a cost model and finds the optimal decision threshold through empirical thresholding.
Skills: cost-sensitive learning, classification, random forest, LightGBM, Python, scikit-learn, pandas, hyperopt
An Interdisciplinary Comparison of Sequence Modeling Methods for Next-Element Prediction
github | conference paper | journal paper
Description: In this work we conduct an experimental evaluation of sequence modeling methods from machine learning, grammar inference, and process mining fields.
Skills: classification, deep learning, LSTM, GRU, RNN, HMM, Markov chains, Python, Keras
Community-Based Prediction of Activity Change in Skype
paper
Description: Predicting the change in product usage in automatically discovered communities in the social network of Skype users.
Skills: social network analysis, community detection, classification, random forest, R, C++
Outcome-Oriented Predictive Process Monitoring: Review and Benchmark
github | paper
Description: A systematic literature review, comparative analysis, and experimental evaluation of techniques for predictive business process monitoring.
Skills: random forest, XGBoost, SVM, logistic regression, Python, R, scikit-learn, pandas
Clustering-Based Predictive Process Monitoring
paper
Description: A technique for predictive process monitoring that clusters the trace prefixes and builds a classifier for each cluster.
Skills: clustering, classification, random forest, decision trees, model-based clustering, DBSCAN, Java, R
Data science challenges
RecSys Challenge 2018 (12th place out of 112)
github | report
Description: A music recommender system for automatic playlist continuation. The final submission developed for the RecSys Challenge 2018, achieved 12th place out of 112 participating teams.
Skills: recommender systems, collaborative filtering
BPI Challenge 2015 (2nd place out of 9)
report
Description: Analysing the building permit application process in Dutch municipalities using various process mining and data mining techniques. The work received the prize of the best student report in
Business Process Intelligence Challenge 2015.
Skills: data analysis, process mining, Java, R
Other open-source projects
Automatic License Plate Detection
github
Description: A tool that applies automatic license plate detection to images and videos of cars and, consequently, queries the Dutch Vehicle Authority (RDW) to check if a car with the found license plate number actually exists.
Skills: image processing, Python, cv2, django
Trace Generation Using LSTM
github
Description: Training an LSTM neural network for generating business process execution traces.
Skills: deep learning, LSTM, Python, Keras
Skipgram-style embeddings for business process concepts
github
Description: Representation learning for business process activities and resources, inspired by word embeddings.
Skills: natural language processing, word embeddings, skipgram, word2vec, neural networks, Python, gensim


Click on the button at the bottom right corner or open in popup Display youtubeme icon on each page For any recommandations send an email to pguigeekz@gmail.com


Tasks
today
tomorrow
this week
Book appointment with Jared
Upload today shot on Dribbble
Complete the Elephant Illustration
Buy Cake for Clair's Birthday
Attend UX Conference with Jared


{% set title = 'Collapse' %} {% set filename = 'component-collapse.html' %} {% extends 'layouts/master.html' %} {% block content %}
Collapse your content and control its visibility with buttons.
Click the buttons below to show and hide another element via class changes:
Click the buttons below to show and hide another element via class changes:


« Previous Demo:
Adaptive Thumbnail Pile Effect
Back to the Codrops Article
Flexible Calendar
Demo 1
|
Demo 2
Entering this information will help you keep track.
What didju do? (Enter the name of the file you wrote or the number or push ups you did, for example)


| expectation {testthat} | R Documentation |
For advanced use only. If you are creating your own expectation, you should
call expect()
instead. See vignette("custom-expectation")
for more
details.
expectation(type, message, srcref = NULL, trace = NULL) new_expectation( type, message, ..., srcref = NULL, trace = NULL, .subclass = NULL ) exp_signal(exp) is.expectation(x)
type |
Expectation type. Must be one of "success", "failure", "error", "skip", "warning". |
message |
Message describing test failure |
srcref |
Optional |
trace |
An optional backtrace created by |
... |
Additional attributes for the expectation object. |
.subclass |
An optional subclass for the expectation object. |
exp |
An expectation object, as created by
|
x |
object to test for class membership |
Create an expectation with expectation()
or new_expectation()
and signal it with exp_signal()
.


28 February 2001
Disease Outbreak Reported
The WHO Regional Office for the Americas (PAHO) has reported a total of 9 cases of yellow fever in the Region of Divinopolis, State of Minas Gerais. The counties affected are Bom Despacho, Leandro Ferreira, Martinho Campos, Nova Serrana and Santo Antônio do Monte. Six cases have been laboratory confirmed (IgM ELISA) and have since died. Laboratory studies are underway for the other cases.
A team of epidemiologists from the National Epidemiology Center in Brazil is working with local health authorities to investigate the outbreak. A vaccination campaign has begun.


i want to use enumerations and want to show the exact enumerators as output instead of their integer values.
#include<iostream.h>
#include<conio.h>
enum etype{manager,accountant,director};
main()
{
etype e1;
char a;
cout<<"Enter 1st letter of employee type(m,a,d): ";
cin>>a;
switch(a)
{
case 'm':e1=manager;break;
case 'a':e1=accountant;break;
case 'd':e1=director;break;
}
cout<<e1;
getch();
}
here if user enters m,the output is 0,i-e integer value of enumerator,how can i make output as manager by entering m.
Maybe your compiler is too old you can use #include<iostream.h> instead of #inlcude<iostream>
and add #include<string> and remove the using namespace std; this might make it work.
A few words of advice:
1) Enumerations are constant integers.
2) enums are somewhat structures. The members within an enum are integers. On line 13, 15, and 17, you assign e1 to a constant integer. Why?
3) On line 18, you print an instance of enum. Which member do you want to print? Note that enum instances maybe considered pointless. Also, enumerated values don't require the name of the instance to access it. For example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
enum ENUMERATIONS
{
ENUM_ONE,
ENUM_TWO
};
int main( )
{
cout << ENUM_ONE << " " << ENUM_TWO << endl;
cin.get( );
return 0;
}
In this example, note that there are no instances of ENUMERATIONS, and yet I used ENUM_ONE, and ENUM_TWO.


Emeril's Food Truck
Place Order
Food Name
{{item.name}}
Food Quantity
{{n}}
Add
Clear Order
Your Order
Name
Base Price
Quantity
SubTotal
Remove
{{ food.name }}
{{food.price | currency}}
{{food.quantity}}
{{food.quantity * food.price | currency}}
Tax: 9.5%
Total: {{total.total | currency}}


Biblio
Profile
Setting
Logout
DASHBOARD
BOOKS
LENDING
MEMBER
STATISTIC
New book
Total
100
Checkouts
30
Overdue
5
Check-out
Overdue


Feedback Form
This is my form. Please fill it out. It's awesome!
Your Name
Your Email
Comments
Do Not Fill This Out
other content