So who are the PSI Magick ones?
There are thousands and thousands of documented cases of bizarre, inexplicable and extraordinary things happening to ordinary people.
There are many, many people who have had recent brushes with the paranormal. There are people who became spontaneously invisible. People who have disappeared out of moving vehicles only to appear a few seconds later confused and disoriented... and hundreds of miles away from where they were. People who wake up to discover they were literally sleeping on air, and then come crashing down as soon as they realize what they are doing is "impossible."
The list goes on and on.
We've all heard the myths and legends of these sorts of things at some point in our lives, and for every story of a spontaneous occurrence that manages to stumble its way into a tabloid newspaper there are thousands of even more amazing things that are being done deliberately, carefully and quietly by an elite group of people who can do them repeatedly and at will.

The truth is, there are people out there doing miraculous things right now, and the people doing them are the “Whole-ly” ones.
These "whole" people have learned to recognize that humans are more than just the flesh that people wear. people are exquisite, subtle creatures of both matter and energy, and once people remember how to manipulate and control that energy part of ourselves, extraordinary things become possible.
“Holy” people have learned to see the world in a different way, and this new perspective lets them understand how the reality that people perceive really works.
Once a person understand how things work, a person will understand where and how to focus their efforts to create real, tangible, "miraculous" changes.
Most of these miraculous people have one thing in common... at one time or another they all started out pretty much just like us, until something or someone led them to start thinking outside the box.
Some had help like a teacher, Guru or in our case, a book. Some had no help.
Some of them are deeply spiritual. Some of them are not. Yet all of these people have embarked on a literally miraculous journey, and one that the I invite you to start as well.


Home
Blog
Results
Home
Blog
Results
menu
Saber Racing
Send it or be sent
Home
Blog
Australia Round 2
Headed Back Down Under
send it
more coming soon
send it
more coming soon
send it


JHipster Domain Language (JDL)
The JDL is a JHipster specific domain language where you can describe all your applications, deployments, entities and their relationships in a single file (or more than one) with a simple and user-friendly syntax.
You can use our online JDL-Studio or one of the JHipster IDE plugins/extensions, wich are available for Eclipse, VS Code and Atom, to create a JDL file and its UML visualization. You can create and export or share the URL of your JDL model as well.
You can generate applications, deployments and entities from a JDL file using the import-jdl
sub-generator, by running jhipster import-jdl your-jdl-file.jdl
.
If you have an existing project (either created with jhipster import-jdl
or generated with jhipster
command line), you can generate entities for the project by running jhipster import-jdl your-jdl-file.jdl
. Make sure to execute this command under your JHipster project.
You can also generate applications, entities and export them as a JDL file using JHipster UML, by running jhipster-uml your-xmi-file.xmi --to-jdl
from the root of the generated JHipster application. To learn more about JHipster UML, and install it, go to the JHipster UML documentation.
This can be used as a replacement to using the entity sub-generator and is the recommended approach. The idea is that it is much easier to manage relationships using a visual tool than with the classical Yeoman questions and answers.
The JDL project is available on GitHub, it is an Open Source project like JHipster (Apache 2.0 License). It can also be used as a node library to do JDL parsing.
If you like the JHipster Domain Language, the JDL Studio or the JHipster IDE don’t forget to give them a star on GitHub - thanks!
Here is the JDL documentation:
- JDL Sample
- How to use it
- The language
- Commenting
- All the relationships
- Constants
- Workflows
- Annexes
- Troubleshooting
- Issues and bugs
JDL Sample
The Oracle “Human Resources” sample application has been translated into JDL, and is available here. The same application is loaded by default in JDL-Studio and JHipster IDE as well.
If you’re looking for more samples, there is a repository for that right here.
How to use it
Importing a JDL file
You can then use JDL files to generate entities:
- Simply create a file with the extension ‘.jh’ or ‘.jdl’,
- Declare your applications, deployments, entities and relationships or create and download the file with JDL-Studio or JHipster IDE,
- If you are creating only entities in then run
jhipster import-jdl my_file.jdl
in your JHipster application’s root folder. - If you are creating applications then just run
jhipster import-jdl my_file.jdl
in a folder.
and Voilà, you are done!
If you work in a team, perhaps you would like to have multiple files instead of one. We added this option so that you don’t manually concatenate all the files into one, you just have to run.
jhipster import-jdl my_file1.jdl my_file2.jdl
If you do not want to regenerate your entities while importing a JDL, you can use the --json-only
flag to skip the
entity creation part and create only the json files in .jhipster
folder.
jhipster import-jdl ./my-jdl-file.jdl --json-only
By default import-jdl
regenerates only entities that have changed, if you want all your entities to be regenerated
then pass in the --force
flag.
Please note that this will overwrite all your local changes to the entity files
jhipster import-jdl ./my-jdl-file.jdl --force
If you want to use it in your project, you can add do so by doing:
- NPM:
npm install jhipster-core --save
- Yarn:
yarn add jhipster-core
to install it locally, and save it in your package.json
file.
Exporting to a JDL file
If you already have entities in your application and wish to have a JDL file, fear not! You don’t have to write it from scratch as there’s a sub-generator that does that for you.
Simply do jhipster export-jdl <FILE_NAME>
in your app’s root folder and you’ll have all your entities,
relationships and options exporting in a single JDL file.
Note: you can also not provide a file name to the sub-generation, a default one will be chosen.
The language
We tried to keep the syntax as friendly as we can for developers. You can do these things with it:
- Declare applications with their options and entities,
- Declare entities with their attributes,
- Declare the relationships between them,
- And declare some JHipster specific options.
If you wish to view the JDL’s grammar, there is an HTML file available here.
Application declaration
As of v2.0.0, application declaration is possible (compatible with JHipster v5).
To import one or several applications, you needn’t be in a JHipster application folder.
The most basic declaration is done as follows:
application {
config {}
}
A JHipster application has a config with default values and using the previous syntax will ensure your application use the default values (as if you didn’t make any specific choice). The resulting application will have:
- baseName:
jhipster
- applicationType:
monolith
- databaseType:
sql
- etc.
Now, if you want some custom options:
application {
config {
baseName myapp
applicationType microservice
prodDatabaseType postgresql
buildTool gradle
}
}
Those options are only a sample of what’s available in the JDL. The complete list of options is available in the annexes, here.
If you want more than one application, here’s how you do it:
application { // will be generated under the 'myFirstApp' folder
config {
baseName myFirstApp
}
}
application { // will be generated under the 'mySecondApp' folder
config {
baseName mySecondApp
applicationType microservice
}
}
You can have as many application as you want in as many file as you wish: there’s no limitation.
Declaring entities is the most basic thing available and now you can set what entity should be generated in the applications you want.
Let’s improve the previous example:
application {
config {
baseName myMonolith
applicationType monolith
}
entities * except C, D
}
application {
config {
baseName myGateway
applicationType gateway
serverPort 9042
}
entities * except A, B
}
application {
config {
baseName microserviceA
applicationType microservice
}
entities C
}
application {
config {
baseName microserviceB
applicationType microservice
serverPort 8082
}
entities D
}
entity A
entity B
entity C
entity D
dto * with mapstruct
service * with serviceClass
paginate D with pager
Now, several things will happen when generating these applications and folders:
- Four applications will be created:
- myMonolith in
./myMonolith
, with the server port8080
- myGateway in
./myGateway
, with the server port9042
- microserviceA in
./microserviceA
, with the server port8081
- Even though we didn’t specify a server port, JHipster sets one by default.
- For microservices, the default one is
8081
- For gateways and monoliths, it’s
8080
- For UAA apps, it’s
9999
- microserviceB in
./microserviceB
with the server port8082
- myMonolith in
- Four entities will be generated
A
andB
in the monolithC
andD
both in the gatewayC
in the first microserviceD
in the second microservice
- The
microservice
option is implicit forC
andD
- Because they get generated on the two microservices, this option will be set by default.
- Options work the same way as before
Note that the generator sets default values if they aren’t present (like the databaseType
).
JHipster Core does the exact same things.
Entity declaration
The entity declaration is done as follows:
entity <entity name> {
<field name> <type> [<validation>*]
}
<entity name>
is the name of the entity,<field name>
the name of one field of the entity,<type>
the JHipster supported type of the field,- and as an option
<validation>
the validations for the field.
The possible types and validations are those described here, if the validation requires a value, simply
add (<value>)
right after the name of the validation.
Here’s an example of a JDL code:
entity A
entity B
entity C
entity D {
name String required
address String required maxlength(100)
age Integer required min(18)
}
Regexes are a bit special as they are used like this (from v1.3.6):
entity A {
myString String required minlength(1) maxlength(42) pattern(/[A-Z]+/)
}
If you’re using the generator prior to v4.9.X, you’d need to use patterns like this pattern('[A-Z]+'
).
Because the JDL was made to be simple to use and read, if your entity is empty (no field), you can just declare an
entity with entity A
or entity A {}
.
Note that JHipster adds a default id
field so that you needn’t worry about it.
Relationship declaration
The relationships declaration is done as follows:
relationship (OneToMany | ManyToOne | OneToOne | ManyToMany) {
<from entity>[{<relationship name>[(<display field>)]}] to <to entity>[{<relationship name>[(<display field>)]}]
}
(OneToMany | ManyToOne| OneToOne | ManyToMany)
is the type of your relationship,<from entity>
is the name of the entity owner of the relationship: the source,<to entity>
is the name of the entity where the relationship goes to: the destination,<relationship name>
is the name of the field having the other end as type,<display field>
is the name of the field that should show up in select boxes (default:id
),required
whether the injected field is required.with jpaDerivedIdentifier
whether@MapsId
is used for the association (applicable only for one-to-one)
Here’s a simple example:
entity Book
entity Author
relationship ManyToOne {
Book to Author
}
Declaring an injected field is optional, as one (or both) is set by default as needed. The previous example is equivalent to this one:
entity Book
entity Author
relationship ManyToOne {
Book{author} to Author
}
Let’s make it more complex. A Book has one required Author, an Author has several Books.
entity Book
entity Author {
name String required
}
relationship OneToMany {
Author{book} to Book{writer(name) required}
}
Here, the Book
class will have a required field named writer
that will be linked through the name
field of Author
.
Of course, in real cases, you’d have a lot of relationships and always writing the same three lines could be tedious. That’s why you can declare something like:
entity A
entity B
entity C
entity D
relationship OneToOne {
A{b} to B{a}
B{c} to C
}
relationship ManyToMany {
A{d} to D{a}
C{d} to D{c}
}
The join is always done using the id
field which is also the default field shown when editing a relation in the
front-end. If another field should be shown instead, you can specify it like this:
entity A {
name String required
}
entity B
relationship OneToOne {
A{b} to B{a(name)}
}
JPA Derived Identifier - @MapsId can be declared as following which is currently only supported for one-to-one:
entity A {
name String required
}
entity B
relationship OneToOne {
A{b} to B{a(name)} with jpaDerivedIdentifier
}
This makes JHipster generate a REST resource that returns both the id
and name
of the linked entity to the front-end,
so the name can be shown to the user instead.
Enumerations
To make Enums with JDL just do as follows:
-
Declare an Enum where you want in the file:
enum Language { FRENCH, ENGLISH, SPANISH }
-
In an entity, add fields with the Enum as a type:
entity Book { title String required, description String, language Language }
Blob (byte[])
JHipster gives a great choice as one can choose between an image type or any binary type. JDL lets you do the same. Just create a custom type (see DataType) with the editor, name it according to these conventions:
AnyBlob
or justBlob
to create a field of the “any” binary type;ImageBlob
to create a field meant to be an image.TextBlob
to create a field for a CLOB (long text).
And you can create as many DataTypes as you like.
Option declaration
In JHipster, you can specify options for your entities such as pagination or DTO. You can do the same with the JDL:
entity A {
name String required
}
entity B
entity C
dto A, B with mapstruct
paginate A with infinite-scroll
paginate B with pagination
paginate C with pager // pager is only available in AngularJS
service A with serviceClass
service C with serviceImpl
The keywords dto
, paginate
, service
and with
were added to the grammar to support these changes.
If a wrong option is specified, JDL will inform you of that with a nice, red message and will just ignore it so as not
to corrupt JHipster’s JSON files.
Service option
No services specified will create a resource class which will call the repository interface directly. This is the default and simplest option, see A. Service with serviceClass (see B) will make the resource call the service class which will call the repository interface. Service with serviceImpl (see C) will make a service interface which will be used by the resource class. The interface is implemented by an concrete class which will call the repository interface.
Using no service unless sure is the simplest option and good for CRUD. Use service with a Class if you will have a lot of business logic which will use multiple repositories making it ideal for a service class. Jhipsters are not fan of unnecessary Interfaces but if you like them go for service with impl.
entity A
entity B
entity C
// no service for A
service B with serviceClass
service C with serviceImpl
JDL also supports mass-option setting. it is possible to do:
entity A
entity B
...
entity Z
dto * with mapstruct
service all with serviceImpl
paginate C with pagination
Note that *
and all
are equivalent.
Latest version introduces exclusions (which is quite a powerful option when setting options for every entity):
entity A
entity B
...
entity Z
dto * with mapstruct except A
service all with serviceImpl except A, B, C
paginate C with pagination
With JHipster, you can also tell whether you don’t want any client code, or server code.
Even if you want to add a suffix to Angular-related files, you can do that in JHipster.
Filtering options can be activated on a per entity basis: filter <entity name>
or for all entities: filter *
.
In your JDL file, simply add these lines to do the same:
entity A
entity B
entity C
skipClient A
skipServer B
angularSuffix * with mySuperEntities
filter C
Finally, table names can also be specified (the entity’s name will be used by default):
entity A // A is the table's name here
entity B (the_best_entity) // the_best_entity is the table's name
Microservice-related options
As of JHipster v3, microservices can be created. You can specify some options to generate your entities in the JDL: the microservice’s name and the search engine.
Here is how you can specify your microservice’s name (the JHipster app’s name):
entity A
entity B
entity C
microservice * with mysuperjhipsterapp except C
microservice C with myotherjhipsterapp
search * with elasticsearch except C
The first option is used to tell JHipster that you want your microservice to deal with your entities, whereas the second specifies how and if you want your entities searched.
Annotations
Annotations are available since JHipster v5. Similarly to what’s possible in Java, annotations work the same way so that you annotate your entities with annotations options.
Take this JDL code for instance:
entity A
entity B
entity C
dto C with mapstruct
paginate * with pager except C
search A with elasticsearch
Here’s its equivalent with annotations:
@paginate(pager)
@search(elasticsearch)
entity A
@paginate(pager)
entity B
@dto(mapstruct)
entity C
While this adds more code than it actually removes, it’s actually useful when using multiple JDL files (with microservices for instance).
Deployment declaration
As of v3.6.0, deployment declaration is possible (compatible with JHipster v5.7 or above).
To import one or several deployments, you need not be in a JHipster application folder.
The most basic declaration is done as follows:
deployment {
deploymentType docker-compose
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
A JHipster deployment has a config with default values for all other properties and using the previous syntax will ensure your deployment will use the default values (as if you didn’t make any specific choice). The resulting deployment will have:
- deploymentType:
docker-compose
- appsFolders:
foo, bar
- dockerRepositoryName:
yourDockerLoginName
- serviceDiscoveryType:
eureka
- gatewayType:
zuul
- directoryPath:
../
- etc.
Now, if you want some custom options:
deployment {
deploymentType kubernetes
appsFolders [store, invoice, notification, product]
dockerRepositoryName "yourDockerLoginName"
serviceDiscoveryType no
istio autoInjection
kubernetesServiceType Ingress
kubernetesNamespace jhipster
ingressDomain "jhipster.<IP_ADDRESS>.nip.io"
}
Those options are only a sample of what’s available in the JDL. The complete list of options is available in the annexes, here.
If you want more than one deployment, here’s how you do it:
// will be created under 'docker-compose' folder
deployment {
deploymentType docker-compose
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
// will be created under 'kubernetes' folder
deployment {
deploymentType kubernetes
appsFolders [foo, bar]
dockerRepositoryName "yourDockerLoginName"
}
You can have one deployment per deploymentType. The applications defined in appsFolders
should be in the same folder where you are creating deployments or in the folder defined in directoryPath
. For example for above you need to have a folder structure like this
.
├── yourJdlFile.jdl
├── foo
├── bar
├── kubernetes // will created by the JDL
└── docker-compose // will created by the JDL
Commenting & Javadoc
It is possible to add Javadoc & comments to JDL files.
Just like in Java, this example demonstrates how to add Javadoc comments:
/**
* Class comments.
* @author The JHipster team.
*/
entity MyEntity { // another form of comment
/** A required attribute */
myField String required
mySecondField String // another form of comment
}
/**
* Second entity.
*/
entity MySecondEntity {}
relationship OneToMany {
/** This is possible too! */
MyEntity{mySecondEntity}
to
/**
* And this too!
*/
MySecondEntity{myEntity}
}
These comments will later be added as Javadoc comments by JHipster.
JDL possesses its own kind of comment:
// an ignored comment
/** not an ignored comment */
Therefore, anything that starts with //
is considered an internal comment for JDL, and will not be counted as Javadoc.
Please note that the JDL Studio directives that start with #
will be ignored during parsing.
Another form of comments are the following comments:
entity A {
name String /** My super field */
count Integer /** My other super field */
}
Here A’s name will be commented with My super field
, B with My other super field
.
Yes, commas are not mandatory but it’s wiser to have them so as not to make mistakes in the code.
If you want to mix commas and following comments, beware!
entity A {
name String, /** My comment */
count Integer
}
A’s name won’t have the comment, because the count will.
All the relationships
Explanation on how to create relationships with JDL.
One-to-One
A bidirectional relationship where the Car has a Driver, and the Driver has a Car.
entity Driver
entity Car
relationship OneToOne {
Car{driver} to Driver{car}
}
A Unidirectional example where a Citizen has a Passport, but the Passport has no access to sole its owner.
entity Citizen
entity Passport
relationship OneToOne {
Citizen to Passport
}
// using @MapsId
relationship OneToOne {
Citizen to Passport with jpaDerivedIdentifier
}
One-to-Many
A bidirectional relationship where the Owner has none, one or more Car objects, and the Car knows its owner.
entity Owner
entity Car
relationship OneToMany {
Owner{car} to Car{owner}
}
Unidirectional versions for this relationship are not supported by JHipster, but it would look like this:
entity Owner
entity Car
relationship OneToMany {
Owner to Car
}
Many-to-One
The reciprocal version of One-to-Many relationships is the same as previously. The unidirectional version where the Car knows its owners:
entity Owner
entity Car
relationship ManyToOne {
Car to Owner
}
Many-to-Many
Finally, in this example we have the Car that knows of its drivers, and the Driver object can access its cars.
entity Driver
entity Car
relationship ManyToMany {
Car{driver} to Driver{car}
}
Please note that the owning side of the relationship has to be on the left side
Constants
As of JHipster Core v1.2.7, the JDL supports numerical constants. Here is an example:
DEFAULT_MIN_LENGTH = 1
DEFAULT_MAX_LENGTH = 42
DEFAULT_MIN_BYTES = 20
DEFAULT_MAX_BYTES = 40
DEFAULT_MIN = 0
DEFAULT_MAX = 41
entity A {
name String minlength(DEFAULT_MIN_LENGTH) maxlength(DEFAULT_MAX_LENGTH)
content TextBlob required
count Integer min(DEFAULT_MIN) max(DEFAULT_MAX)
}
Workflows
Monolith workflow
There’s no special workflow here:
- Create your application
- Create your JDL file
- Import it
Microservice workflow
Dealing with microservices is a bit trickier, but the JDL gives you some options to handle your entities as you see fit.
With the microservice <ENTITIES> with <MICROSERVICE_APP_NAME>
you can specify which entity gets generated in which microservice.
Take this setup for instance:
entity A
entity B
entity C
microservice A with firstMS
microservice B with secondMS
Given two JHipster applications (‘firstMS’ and ‘secondMS’), here’s what you’re going to get if you import the JDL file in the two applications:
- In ‘firstMS’, entities
A
andC
will be generated. - In ‘secondMS’, entities
B
andC
will be generated.
C
gets generated in both because if there’s no microservice option specifying where this entity gets generated, it
will be generated everywhere.
If you decide to import this JDL in a monolith app, every entity will be generated (monoliths don’t have restriction
options in the JDL).
Note: if you want to make the same entity be generated in two different microservices, you can write two JDL files instead of updating the JDL file. everytime.
The previous example couldn’t have been written like this:
entity A
entity B
entity C
microservice * except B with firstMS
microservice * except A with secondMS
Here’s the result:
- In ‘firstMS’, only the entity
C
will be generated - In ‘secondMS’, entities
B
andC
will be generated. It’s because, at parsing-time, if an option overlaps with another, the latter takes precedence.
You can also create entire microservice stack using JDL, see this blog post for example
Annexes
Available application options
Here are the application options supported in the JDL:
| JDL option name | Default value | Possible values | Comment |
|---|---|---|---|
| applicationType | monolith | monolith, microservice, gateway, uaa | |
| authenticationType | jwt or uaa | jwt, session, uaa, oauth2 | uaa for UAA apps, jwt otherwise |
| baseName | jhipster | ||
| buildTool | maven | maven, gradle | |
| cacheProvider | ehcache or hazelcast | ehcache, hazelcast, infinispan, no | ehcache for monoliths and gateways, hazelcast otherwise |
| clientFramework | angularX | angularX, react | |
| clientPackageManager | npm | npm, yarn | |
| clientTheme | none | Something or none | You can put whatever value you want, provided you know it will work (like yeti). |
| clientThemeVariant | Something or primary | You can put whatever value you want, provided you know it will work (like dark, or light), can also be empty | |
| databaseType | sql | sql, mongodb, cassandra, couchbase, no | |
| devDatabaseType | h2Disk | h2Disk, h2Memory, * | * + the prod database type |
| dtoSuffix | DTO | Suffix for DTOs. false for empty string. | |
| enableHibernateCache | true | ||
| enableSwaggerCodegen | false | ||
| enableTranslation | true | ||
| entitySuffix | Suffix for entities. false for empty string. | ||
| jhiPrefix | jhi | ||
| languages | [en, fr] | Languages available in JHipster | Braces are mandatory |
| messageBroker | false | kafka, false | |
| nativeLanguage | en | Any language supported by JHipster | |
| packageName | com.mycompany.myapp | Sets the packageFolder option | |
| prodDatabaseType | mysql | mysql, mariadb, mssql, postgresql, oracle, no | |
| reactive | false | ||
| searchEngine | false | elasticsearch, false | |
| serverPort | 8080, 8081 or 9999 | Depends on the app type | |
| serviceDiscoveryType | false | eureka, consul, no | |
| skipClient | false | ||
| skipServer | false | ||
| skipUserManagement | true | ||
| testFrameworks | [] | protractor, cucumber, gatling | Braces mandatory |
| uaaBaseName | Mandatory for gateway and microservices if auth type is uaa, must be between double-quotes | ||
| useSass | false | ||
| websocket | false | spring-websocket, false |
Available deployment options
Here are the application options supported in the JDL:
| JDL option name | Default value | Possible values | Comment |
|---|---|---|---|
| deploymentType | docker-compose | docker-compose, kubernetes, openshift | |
| directoryPath | "../" | Relative path. Must be in double quotes | |
| appsFolders | [] | Directory names for the applications separated by comma. Must be a list, example [foo, bar] | |
| clusteredDbApps | [] | Directory names for the applications with clustered DB separated by comma. Must be a list, example [foo, bar] | |
| gatewayType | zuul | zuul, traefik | Value is ignored when serviceDiscoveryType is `no` |
| monitoring | no | no, elk, prometheus | |
| consoleOptions | [] | [curator, zipkin] | Must be a list |
| serviceDiscoveryType | eureka | eureka, consul, no | |
| dockerRepositoryName | The name or URL of the docker repository. Must be in double quotes | ||
| dockerPushCommand | "docker push" | The docker push command to use. Must be in double quotes | |
| kubernetesNamespace | default | Applicable only when deploymentType is kubernetes | |
| kubernetesServiceType | LoadBalancer | LoadBalancer, NodePort, Ingress | Applicable only when deploymentType is kubernetes |
| ingressDomain | The domain for Ingress when kubernetesServiceType is `Ingress`. Must be in double quotes. Applicable only when deploymentType is kubernetes | ||
| istio | no | no, manualInjection, autoInjection | Applicable only when deploymentType is kubernetes |
| openshiftNamespace | default | Applicable only when deploymentType is openshift | |
| storageType | ephemeral | ephemeral, persistent | Applicable only when deploymentType is openshift |
Available field types and constraints
Here are the types supported in the JDL:
Common databases:
- PostgreSQL
- MySQL
- MariaDB
- Oracle
- MsSQL
- MongoDB
- Couchbase
| Common databases | Cassandra | Validations |
|---|---|---|
| String | String | required, minlength, maxlength, pattern, unique |
| Integer | Integer | required, min, max, unique |
| Long | Long | required, min, max, unique |
| BigDecimal | BigDecimal | required, min, max, unique |
| Float | Float | required, min, max, unique |
| Double | Double | required, min, max, unique |
| Enum | required, unique | |
| Boolean | Boolean | required, unique |
| LocalDate | required, unique | |
| Date | required, unique | |
| ZonedDateTime | required, unique | |
| Duration | required, unique | |
| UUID | UUID | required, unique |
| Blob | required, minbytes, maxbytes, unique | |
| AnyBlob | required, minbytes, maxbytes, unique | |
| ImageBlob | required, minbytes, maxbytes, unique | |
| TextBlob | required, unique | |
| Instant | Instant | required, unique |
Available options
Unary options
These options don’t have any value:
skipClient
skipServer
noFluentMethod
filter
They can be used like this: <OPTION> <ENTITIES | * | all> except? <ENTITIES>
Binary options
These options take values:
dto
(mapstruct
)service
(serviceClass
,serviceImpl
)paginate
(pager
,pagination
,infinite-scroll
)search
(elasticsearch
)microservice
(custom value)angularSuffix
(custom value)clientRootFolder
(custom value)
Troubleshooting
The JDL import only finds one entity when matching MS baseName
This is a known issue regarding the parsing system and fixing it is tricky. The obvious workaround is to use different names for the microservice and the entities inside.
See JHipster Core issue #308 for more information.
Issues and bugs
JDL is available on GitHub, and follows the same contributing guidelines as JHipster.
Please use our project for submitting issues and Pull Requests concerning the library itself.
When submitting anything, you must be as precise as possible:
- One posted issue must only have one problem (or one demand/question);
- Pull requests are welcome, but the commits must be ‘atomic’ to really be understandable.


Alex Antonov
Software craftsman
ABOUT ME
Tags
book reviews (5)
javascript (4)
elixir (3)
ruby (2)
react.js (2)
python (1)
Alex Antonov
's blog
17 Dec 2017
Book Review - “Learn Python The Hard Way”
21 Sep 2017
Book Review - “Metaprogramming Elixir”
13 Mar 2017
Book Review - “You don't know JS: Scope & Closures”
02 Mar 2017
Book Review - “You don't know JS: Up & Going”
01 Jan 2017
Book Review - “Practical Object Oriented Design in Ruby”
29 May 2016
How do I test sessions in ExUnit?
09 Apr 2016
How I migrated SPA backend codebase from Rails to Phoenix
25 Mar 2016
How to migrate from Coffeescript + JSX => ES6 + JSX


Since we are learning Python, sometimes it might be useful to convert text from CamelCase to snake_case. The main trick is to find the correct place where to insert an underscore. Let's make a rule that an underscore should be inserted right before a capital letter but only if it's not the very first letter. In case it is, just convert it to lowercase, and do not insert an underscore before it, so CamelCase becomes camel_case.
The input format:
Read a word or a phrase written in lowerCamelCase
The output format:
Print out words in lowercase and separate them by underscores.
python
python
parselTongue
parsel_tongue


the and vaccination Ebola HCW with for cases model general population prophylactic was The that Health deaths from impact //. Epub epidemic {background virus Sierra were World []. outbreak ;():–. margin are data days disease have rate {border-style %-%) Leone px;} reported study #ffffff;} & HCW, additional all these this vaccine during individuals not [], estimated –,) (%-%; Sciences both compared health mortality population. transmission will between here outbreaks Click Fig LINK been file. number parameters review time (,–,; Fitted Table colleagues cumulative healthcare help onset populations proportions %CI) (IQR; Available Janssen Medicine Organization. Vaccines among averted being from: infection only total vaccinated (Fig Impact This can collab: control could duration incidence infectious its reactive stochastic which Abbreviations: Hemorrhagic Organization; Republic Switzerland: WHO analysis associated based care carried different even infected original overall population, protection px; results size strategy {font-family CI: Cumulative Democratic Proportion Vaccination West addition any avert draftWriting dynamics font-size key out potential result ring risk role than used vaccination, vaccines while (DOCX) (In .%, Comparison Fever Pathogens Prevention Transmission Viral Virus also assumed compartmental days−) disease. double; epidemics evaluated increase mass mathematical may other outbreak. per period population; seen susceptible vaccinating vaccination. weekly workers (TIF) Biology Diseases However, Leone, Mean New November States These United While [,]. [cited against analyses base border-color border-width but countries development diseases. employed evaluate few fitted fitting following higher into large levels literature model, modeling more our outbreak, prior reduction related reproduction significant small solid; spread strategies strategies. through workers; {font-style {font-weight ./.. ;:–. Africa December Disease Fang Geneva, HCW. HCW; Infectious Lancet Life Prophylactic SmartAnalyst Viruses: across al. areas authors bold case cases, consistent courier; course days, decision each em; emergency entire epidemic, epidemic. explained final findings has hospitalization hundred ii) including modelling morbidity next over plus prevention protection: pt;} public respectively, scenario sensitivity significantly similar simulated such three use using vaccinations worker;


Make a Guess
Here's your score:
The distance between your location to the actual location is
meters.


{{ group.shortName }} ({{ group.appName }}) (Group ID: {{group.groupId}})
| ID | Type | Short Name (lowered) | Long Name | Address ID | GPS | Last Activity | Created | |||
|---|---|---|---|---|---|---|---|---|---|---|
| {{ ::curAssociation.groupId }} | {{ ::curAssociation.appNameString }} | {{ ::curAssociation.shortName }} | {{ ::curAssociation.fullName }} | {{ ::curAssociation.fullAddressId }} | Map | {{ ::curAssociation.lastActivityTime | date:'M/d/yyyy' }} | {{ ::curAssociation.creationDate | date:'M/d/yyyy' }} | Visit | Log | |
| ID | Type | Short Name (lowered) | Long Name | Address ID | GPS | Last Activity | Created |


26/11/2020 - 0
A cyberespionage group with suspected ties to the Kazakh and Lebanese governments has unleashed a new wave of attacks against a multitude of industries with a retooled version of a 13-year-old backdoor Trojan...
26/11/2020 - 0
At present, web applications have become the top targets for...
26/11/2020 - 0
Many of us here would love to turn hacking into a full-time career. To make that dream come true, you need to master your subject and earn some key certifications. To speed up this process, you might want...
26/11/2020 - 0
A hackers-for-hire operation has been discovered using a strain of previously undocumented malware to target South Asian financial institutions and global entertainment companies...


Jen Mason, PhD.
Jen Mason is a PhD candidate at Prescott College (Prescott, Arizona) in Sustainability Education. She is interested in transformative learning, resilience, multi-stakeholder whole-system change processes, mindfulness, and the theory and practice of dialogue.
Design, specs, approach
As the face of Mrs. Mason's PhD research project, this website needed to be part advertising campaign, part participant portal. It required a logo, banner and background images, typography, color scheme, co-hosting organization links, and a participant questionnaire. The design solution consisted of significant copy editing for UX/web presentation, and a single-page layout featuring a full-screen banner, grid layout, sectional images, and social media integration. The process throughout was a collaborative, co-thinking effort, resulting in a unique site which balanced form & function.
*Tech specs: HTML5, CSS3, Flexbox, JQuery, Copy Editing, Graphic Design, Photo Sourcing.


Back
Diff scan
Next
Scanning...
Continue
File name of saved report:
Save
Report to diff against:
Browse
Current path:
Save
{{#each filelist}} {{#ifmod2 @index 0 4}}
{{/ifmod2}}
{{name}}
{{#ifmod2 @index 3 4}}
{{/ifmod2}} {{/each}}
File name:


What kind of icon would you like? Do you want one just like the default image for facebook, or maybe support your favorite game with their logo, or better yet use a superhero's logo that you idealize. Just please don't continue using the default profile picture given to you by companies.
Don't know what you want? Just want to see all we have to offer?  logos.
Daw look at all the cute fluffy animals. I must own them all.
Someone sent you here because you are using a default picture, and you want to shut them up without really changing anything? Pick one of these default pictures that look moderately better.
I just looked at what was around me and gave it a logo, I don't know maybe your spirit animal is candle, I won't judge you.
Do not click if hungry! Contains lots of images of hunger inducing logos.
Pick the first letter of your name or username, or maybe just your favorite letter / number.
These pictures are difficult to describe other than just some random logos that were made in the process of making this site.
Just can't stop raving about some show? maybe we'll have it, come check it out.
Ewww, sports. But I guess a few people enjoy them so here ya go.
Do you idolize a specific superhero? Or maybe there's one you just love to death, find them here!
Do you idolize a specific supervillian? Or maybe there's one you just love to death, find them here! Do people actually idolize supervillains? Really? ...Alright then.
For when you want something more original than a letter or number or pi.
Represent your favorite video games or just pick a logo you really like, there are over 100 choices so far.
Learn more about the people that made this site, and why they made it here.
Want your favorite game added, or maybe you found an issure with one of the pages? Tell us about anything you think needs changing here.
Want to see what we have planned thus far? (Spoiler alert, its more logos)


Answer as Many queshions as possible
Queshion : What is 2 + 2 ?
a. 2
b. 3
c. 10
d.4
Queshion : What is 2 + 2 ?
a. 2
b. 3
c. 10
d.4
Queshion : What is 2 + 2 ?
a. 2
b. 3
c. 10
d.4
Queshion : What is 2 + 2 ?
a. 2
b. 3
c. 10
d.4
Queshion : What is 2 + 2 ?
a. 2
b. 3
c. 10
d.4


I’m a results-driven web development kind of guy who has a passion for technology, creativity, and attention to detail with an insatiable craving for adventure and seeing the world . Upon wrapping up with an intensive 12-week long bootcamp dedicated to designing and building web applications I am now actively looking for opportunities with a fast paced and growing company which will allow me to utilize my programming skills and teamwork attitude, while allowing for growth and advancement
My Skills


You can adjust the sizes and margins of the bracket elements with initialization parameters. Other styles can be overridden by CSS.


Search:
Sort by:
A-Z ascending
A-Z descending
Price ascending
Price descending
By most popular
Filters
Price
Higher than:
Lower than:
Filter
Manufacturer
Return to the shop
Details


This is our first web page!
Isn't it nice?
Check out Epicodus. It's a great school for learning web programing!
Here is a link to our favorite things.
Here is a link to Buddy the wimpy dog.
Here is a link to our favorite places.
Here are some things we are going to learn about coding:


| Modifier and Type | Interface and Description |
|---|---|
static interface |
MultiVariableContextWithCheckedProperty.ContextDependentProblemStepSolverMaker
A
BinaryFunction making a SingleVariableConstraint for a given
variable and current context. |
| Modifier and Type | Class and Description |
|---|---|
static class |
CompleteMultiVariableContext.CompleteMultiVariableContextDependentProblemStepSolverMaker |
| Modifier and Type | Class and Description |
|---|---|
class |
QuantifierEliminatorOfFunctionOnIntensionalSetTopRewriter
A
Switch extension solving aggregate functions on intensional sets,
given the functor, group, and MultiQuantifierEliminator . |
class |
QuantifierTopRewriter
A
TopRewriter solving quantified expressions,
given the syntactic form type, group, and MultiQuantifierEliminator . |
| Modifier and Type | Class and Description |
|---|---|
class |
LazySampledFunctionApplicationTopRewriter
A
TopRewriter that
rewrites an expression to its value if it is
a LazySampledFunction application,
or delegates its rewriting to a given base TopRewriter otherwise. |
class |
RewriterWithPrinting |
| Modifier and Type | Class and Description |
|---|---|
class |
AbstractInterpreter
A
Rewriter based on a TopRewriter ,
adding the functionality of solving quantified and aggregate expressions with a MultiQuantifierEliminator
provided by the implementation of an abstract method. |
class |
BruteForceCommonInterpreter
An extension of
BruteForceInterpreter
using CommonSimplifier . |
class |
BruteForceInterpreter
An implementation of
AbstractInterpreter using BruteForceMultiQuantifierEliminator . |
class |
SamplingCommonInterpreter
An extension of
SamplingInterpreter
using CommonSimplifier . |
class |
SamplingInterpreter
This interpreter will evaluate expressions, but will sample quantifiers instead of using brute force.
|
class |
TopRewriterUsingContextAssignments
A
TopRewriter based on another TopRewriter ,
and adding functionality for replacing expressions by their assignments stored on the context,
stored there by AbstractIterativeMultiIndexQuantifierEliminator#extendAssignments(Map . |
class |
TopRewriterUsingContextAssignmentsReceivingBaseTopRewriterAtConstruction
A convenience variant of
TopRewriterUsingContextAssignments that takes its base top rewriter at construction time. |
| Modifier and Type | Class and Description |
|---|---|
class |
BindingTopSimplifier
A
Switch rewriter replacing symbols by their bound value from context, if any. |
class |
CommutativeAssociative
Implements the basics for commutative, associative operators with a neutral
element such as addition, multiplication, conjunction, etc.
|
class |
CommutativeAssociativeWithOperationOnJavaConstantsOnly
Specializes
CommutativeAssociative
to situations in which all arguments are constants,
reducing the whole expression to a constant itself. |
class |
Disequality
Implements disequality.
|
class |
Equality
Implements equality.
|
| Modifier and Type | Field and Description |
|---|---|
static BinaryFunction<Expression,Expression,Expression> |
Disequality.MAKE_PAIR_DISEQUALITY |
static BinaryFunction<Expression,Expression,Expression> |
Equality.MAKE_PAIR_EQUALITY |
| Modifier and Type | Method and Description |
|---|---|
static Expression |
CommutativeAssociativeOnNumbers.dealWithInfinity(Expression expression,
Context context,
BinaryFunction<Expression,Context,Expression> fallback)
If arguments of expression contain
Expressions.INFINITY but not Expressions.MINUS_INFINITY , returns INFINITY;
if they contain Expressions.MINUS_INFINITY but not Expressions.INFINITY , returns MINUS_INFINITY;
if they contain both, throw an error
if tye contain none, returns the result provided by provided fallback function |
| Modifier and Type | Class and Description |
|---|---|
class |
And |
class |
BooleanCommutativeAssociative |
class |
BooleanSimplifier
A
Rewriter with commonly boolean connectives plus conditionals:
boolean connectives (and, or, not, <=>, => )
if then else
|
class |
Equivalence |
class |
ForAllRewriter
A
TopRewriter solving universal quantification by using a given quantifier eliminator. |
class |
Implication |
class |
Not |
class |
Or |
class |
ThereExistsRewriter
A
TopRewriter solving existential quantification by using a given quantifier eliminator. |
| Modifier and Type | Class and Description |
|---|---|
class |
CommonSimplifier
A
TopRewriter aggregating:
BindingTopSimplifier : replaces symbols by their values(=, != )
BooleanSimplifier : boolean connectives (and, or, not, <=>, => ) and if then else
NumericSimplifier : arithmetic (+, -, *, / ) and inequalities (<, <=, >=, > )
EqualitySimplifier : equality and disequality (=, != )
InequalitySimplifier : inequality (<, <=, >, >= )
CardinalityOfSetConstantSimplifier : cardinalities (must be registered in context's global objects as a function application of | . |
class |
CommonSimplifiersAndSymbolicQuantifierEliminationRewritersTopRewriter
|
class |
SymbolicQuantifierEliminatorRewritersTopRewriter
A
TopRewriter aggregating symbolic quantifier eliminators for +, *, max, cardinality, for all and there exists
using DefaultMultiQuantifierEliminator (SGVET for summations). |
| Modifier and Type | Class and Description |
|---|---|
class |
IfThenElse |
| Modifier and Type | Class and Description |
|---|---|
class |
EqualitySimplifier
A
Rewriter with equality functions (=, != ) |
| Modifier and Type | Class and Description |
|---|---|
class |
InequalitySimplifier
A
Simplifier with inequality functions (> <, >=, <= ) |
| Modifier and Type | Class and Description |
|---|---|
class |
LambdaBetaReductionSimplifier
A lambda calculus beta reduction simplifier, which simply means a
simplifier that applies a lambda expression to arguments:
|
| Modifier and Type | Class and Description |
|---|---|
class |
BinaryMinus |
class |
Division |
class |
Exponentiation |
class |
GreaterThan |
class |
GreaterThanOrEqualTo |
class |
LessThan |
class |
LessThanOrEqualTo |
class |
Max |
class |
MaxRewriter
A
TopRewriter solving intensional products by using a given quantifier eliminator. |
class |
Minus
A simplifier combining unary and binary minus simplifiers.
|
class |
NumericSimplifier
|
class |
Plus |
class |
PolynomialSimplifier
A
Simplifier that attempts to normalize polynomials. |
class |
ProductRewriter
A
TopRewriter solving intensional products by using a given quantifier eliminator. |
class |
SummationRewriter
A
TopRewriter solving summation by using a given quantifier eliminator. |
class |
Times |
class |
UnaryMinus
Implements the unary MINUS operation.
|
| Modifier and Type | Class and Description |
|---|---|
class |
IfThenElseConstantBranchesSimplifier
Simplifies
if C then true else D ---> C or D
if C then false else D ---> not C and D
if C then D else true ---> not C or D
if C then D else false ---> C and D
|
class |
PrettySimplifier
A
TopRewriter simplified normalized expressions to more readable ones by combining:
IfThenElseConstantBranchesSimplifier
PolynomialSimplifier
|
| Modifier and Type | Class and Description |
|---|---|
class |
CardinalityByBruteForce
A
TopRewriter solving cardinality by brute-force. |
class |
CardinalityOfSetConstantSimplifier
A
Rewriter with a cardinality of set constants simplifier
(cardinalities (must be registered in context's global objects as a function application of | . |
class |
CardinalityTopRewriter
A
TopRewriter cardinality and counting formulas according to a given MultiQuantifierEliminator . |
class |
IntensionalSetConditionSimplifier
{{ (on I) Alpha | Beta }}
--->
{{ (on I) Alpha | evaluate(Beta, context extended with the indices) }}
|
class |
IntensionalSetConditionTopRewriter |
class |
IntensionalSetFalseConditionToEmptySetSimplifier
{{ (on I) Alpha | false }}
--->
{}
|
class |
IntensionalSetFalseConditionToEmptySetTopRewriter |
| Modifier and Type | Class and Description |
|---|---|
class |
DistributeIntersectionOverUnionSimplifier
Distribute intersection over union:
|
class |
DistributeIntersectionOverUnionTopRewriter |
class |
ElementOfExtensionalSetSimplifier
t ∈ {t1,…,tn}
→
(t = t1) ∨ t ∈ {t2,…,tn}
|
class |
ElementOfExtensionalSetTopRewriter |
class |
ElementOfIntensionalUnionSimplifier
t ∈ ∪i ∈ D:CΦ
→
∃ i ∈ D : (C ∧ t ∈ Φ)
|
class |
ElementOfIntensionalUnionTopRewriter |
class |
ExtensionalSetEqualEmptySetSimplifier |
class |
ExtensionalSetEqualEmptySetTopRewriter |
class |
IntensionalSetToConditionalSimplifier
{{ (on Indices in Types) Head | Condition }}
--->
C = evaluate(there exists Indices in Types : Condition)
return IfThenElse.make(C, {{ (on Indices in Types) Head | Condition }}, {}, true)
|
class |
IntensionalSetToConditionalTopRewriter |
class |
IntensionalUnionEqualToEmptySetSimplifier
(∪i ∈ D:CΦ) = ∅
→
∀ i ∈ D : (¬C ∨ Φ = ∅)
|
class |
IntensionalUnionEqualToEmptySetTopRewriter |
class |
IntensionalUnionIntersectionEqualToEmptySetSimplifier
(∪i ∈ D:CΦ) ∩ (∪i' ∈ D':C'Φ') = ∅
→
∀ i ∈ D : C ⇒ ∀ i' ∈ D' : C' ⇒ (Φ ∩ Φ' = ∅)
|
class |
IntensionalUnionIntersectionEqualToEmptySetTopRewriter |
class |
IntensionalUnionToUnionsOfIntensionalSetsOfBaseTypeSimplifier
We will have intensional unions, which we need to convert to unions
of intensional sets of the base type (in the paper, tuples):
Base case: Union( {{ (on I) { T } : C }} ) ---> {{ (on I) T : C }}
Recursion: Union( {{ (on I) Set1 union ...
|
class |
IntensionalUnionToUnionsOfIntensionalSetsOfBaseTypeTopRewriter |
class |
IntersectionEmptySetSimplifier
{} intersection Set
--->
{}
|
class |
IntersectionEmptySetTopRewriter |
class |
IntersectionExtensionalSetSimplifier
Between an extensional set and another Set (either intensional or extensional,
since it resorts to "in" that works for both):
{ e1, ..., e_m } intersection Set
--->
(if e1 in Set then {e1} else {})
union
...
|
class |
IntersectionExtensionalSetTopRewriter |
class |
IntersectionIntensionalSetsSimplifier
{{ (on I1) H1 : C1 }} intersection {{ (on I2) H2 : C2 }}
--->
{{ (on I1) H1 : C1 and evaluate(there exists I2 : C2 and H2 = H1) }}
|
class |
IntersectionIntensionalSetsTopRewriter |
class |
InversionSimplifier |
class |
SetDNFRewriter |
class |
SetExpressionIsEqualToEmptySet
Has the following pseudo-code:
|
class |
SetExpressionIsEqualToEmptySetTopRewriter |
class |
SetIntersectExtensionalSetEqualToEmptySetSimplifier
S ∩ {t1,…,tn} = ∅
→
(t1 ∉ S) ∧ (S ∩ {t2,…,tn} = ∅)
|
class |
SetIntersectExtensionalSetEqualToEmptySetTopRewriter |
class |
UnionEmptySetSimplifier
{} union Set
--->
Set
|
class |
UnionEmptySetTopRewriter |
class |
UnionOfSetsEqualEmptySetSimplifier
S1 ∪ S2 = ∅
→
S1 = ∅ and S2 = ∅
|
class |
UnionOfSetsEqualEmptySetTopRewriter |
| Modifier and Type | Interface and Description |
|---|---|
interface |
Rewriter
A rewriter can be seen as a "step solver applier" to a given expression under a given context.
|
interface |
RewriterFromStepMaker
A utility functional interface to make
Rewriter s out of functions from (Expression, Context) to Steps. |
interface |
Simplifier
A Simplifier knows just enough about the symbols in a language to simplify it in a shallow way,
that is, to replace function applications by a simpler equivalent expression, if that expression is determined by their immediate arguments.
|
interface |
TopRewriter
An indicator interface for rewriters that are either a
Switch rewriter,
or a CombiningTopRewriter (an extension of FirstOf ) rewriter with base top rewriters,
or a basic rewriter that typically will not recurse. |
| Modifier and Type | Class and Description |
|---|---|
class |
CombiningTopRewriter
An extension of
FirstOf
that consolidates a list of TopRewriter s that are either switches or first of top rewriters,
by merging Switch rewriters based on the same key maker,
and flattening TopRewriters of switches. |
class |
Exhaustive
Applies a base rewriter exhaustively.
|
class |
FirstOf
Applies a list of base rewriters until one of them modifies the original expression, returning this as the overall result.
|
class |
IfEquals<T>
A
Switch extension that compares a key maker's result to a predefined value
and executes a given base rewriter if they are equal
and returns the same expression otherwise. |
class |
IfRewriter
A
TopRewriter that executes one of two base top rewriters
based on a predicate. |
class |
Recursive
Applies a base rewriter on an expression and then recursively on sub-expressions.
|
class |
Switch<T>
A rewriter that stores a map from keys in some type to base
Rewriter s
and a key maker function to Expression s to the key type. |
| Modifier and Type | Class and Description |
|---|---|
class |
CompleteRewriter
A
Rewriter that takes a base TopRewriter
and applies it recursively, exhaustively, and with literal externalization. |
class |
LiteralRewriter
A rewriter that replaces literals by their values according to the context or,
if not defined by the context, splits on them (after a simplification according to a given simplifier).
|
class |
RedirectingRewriter
A rewriter that redirects its calls to another, base rewriter.
|
class |
RedirectingTopRewriter
Analogous to
RedirectingRewriter , but for a TopRewriter . |
| Modifier and Type | Class and Description |
|---|---|
class |
DifferenceArithmeticSimplifier
A simplifier that rewrites numerical comparisons in difference arithmetic
to equivalent ones in which terms are cancelled out and numerical expressions are summed together.
|
| Modifier and Type | Class and Description |
|---|---|
class |
LinearRealArithmeticSimplifier
A simplifier that rewrites numerical comparisons in linear real arithmetic
to equivalent ones in which terms are cancelled out and numerical expressions are summed together.
|
| Modifier and Type | Class and Description |
|---|---|
class |
TupleDisequalitySimplifier
A simplifier that will rewrite inequalities between tuple expressions as follows:
|
class |
TupleEqualitySimplifier
A simplifier that will rewrite equalities between tuple expressions as follows:
|
class |
TupleEqualityTopRewriter |
class |
TupleGetSetTopRewriter |
class |
TupleGetSimplifier
A simplifier that will rewrite a 'get' function application on a tuple to a conditional:
|
class |
TupleQuantifierSimplifier
A simplifier that will rewrite quantified expressions containing tuple types
in their index expressions as follows:
|
class |
TupleSetSimplifier
A simplifier that will rewrite a 'set' function application on a tuple to a conditional:
|
class |
TupleSimplifier
|
class |
TupleValuedFreeVariablesSimplifier
A simplifier that will rewrite tuple-valued free variables:
|
class |
TupleValuedFreeVariablesTopRewriter |
| Modifier and Type | Class and Description |
|---|---|
static class |
FlexibleCacheMapTest.FromPersonAndActivePrincipleToMedicine |
static class |
FlexibleCacheMapTest.FromPersonAndMedicineToGenesAndActivePrinciple |
| Modifier and Type | Method and Description |
|---|---|
static <K,V> java.util.Map<K,V> |
Util.accumulateMapValues(java.lang.Iterable<java.util.Map<K,V>> maps,
BinaryFunction<V,V,V> accumulate)
Accumulates the values for each key using an accumulator function,
returning an empty map if no maps are provided, the first map (the instance itself)
if it is equal to the result, or a new map with the accumulated values otherwise.
|
static <K,V> java.util.Map<K,V> |
Util.accumulateMapValues(java.util.Iterator<java.util.Map<K,V>> mapsIterator,
BinaryFunction<V,V,V> accumulate)
Accumulates the values for each key using an accumulator function,
returning an empty map if no maps are provided, the first map (the instance itself)
if it is equal to the result, or a new map with the accumulated values otherwise.
|
static <K1,V1,K2,V2> |
Util.getTransformedSubMapAndOriginalKeysOfTransformedEntries(java.util.Map<K1,V1> map,
com.google.common.base.Function<java.util.Map.Entry<K1,V1>,Pair<K2,V2>> function,
BinaryFunction<V2,V2,V2> valueCombination)
Given a map, a function on its entries, and a value combination function,
returns a pair of:
a new map containing the transformed entries;
if multiple entries have their keys transformed to the same new key,
their values will be combined with the value combination function.
|
static <F1,F2,T> java.util.List<T> |
Util.mapIntoList(java.util.Collection<? extends F1> collection1,
java.util.Collection<? extends F2> collection2,
BinaryFunction<F1,F2,T> function)
Stores results of applying a binary function to the values of two collections iterated in parallel.
|
static <F1,F2,T> void |
Util.mapIntoList(java.util.Iterator<? extends F1> iterator1,
java.util.Iterator<? extends F2> iterator2,
BinaryFunction<F1,F2,T> function,
java.util.List<T> result)
Stores results of applying a binary function to the values of two iterators iterated in parallel.
|
static <A1,A2,R> java.util.List<R> |
Util.zipWith(BinaryFunction<A1,A2,R> function,
java.util.List<A1> list1,
java.util.List<A2> list2)
Returns list of results of application of a function to pairs of elements
with same indices on two given lists.
|
| Constructor and Description |
|---|
FlexibleCacheMap(long maximumSize,
com.google.common.base.Function<K,K_> fromKeyToStoredKey,
BinaryFunction<K,V,Pair<K_,V_>> fromPairToStoredPair,
BinaryFunction<K,V_,V> fromKeyAndStoredValueToValue,
NullaryFunction<java.util.Iterator<K>> reachableObjectIteratorMaker,
int garbageCollectionPeriod) |
FlexibleCacheMap(long maximumSize,
com.google.common.base.Function<K,K_> fromKeyToStoredKey,
BinaryFunction<K,V,Pair<K_,V_>> fromPairToStoredPair,
BinaryFunction<K,V_,V> fromKeyAndStoredValueToValue,
NullaryFunction<java.util.Iterator<K>> reachableObjectIteratorMaker,
int garbageCollectionPeriod) |


HTML5 Animation with JavaScript Demos
click
to view source code
Return Portolio
Trigonometry for Animation
Rotate an Object Towards a Point
Smooth Up and Down Motion
Add Linear Vertical Motion to Make a Wave
Create a Pulsing Motion by Adjusting Scale
Wave Motion Using Two Angles
Draw a Wave to the Canvas Element
Circular Movement
Elliptical Movement
Using the Pythagorean Theorem to Calculate Distance
Find the Distance Between the Center Point and Mouse
Rendering Techniques
Drawing App
Draw Curve Toward Point
Draw Curve Through Point
Radial Gradient Fill
HTML5 Video Element
Dynamic Manipulation of Canvas Pixels
Spray Paint Drawing App
Velocity and Acceleration
Using Angular Velocity to Follow the Mouse
Applying Acceleration Interactively
Acceleration on Two Axis
Gravity as Applied Acceleration
Using Angular Acceleration to Follow the Mouse
Spaceship Simulation
Boundaries and Friction
Remove Object at Boundaries
Fountain of Regenerating Objects
Spaceship Simulation with Screen Wrapping
Bounce Off Walls
Bounce Off Walls with Gravity
Spaceship Simulation with Friction Applied
User Interaction: Moving Objects Around
Dragging an Object
Combining Dragging and Motion Code
Throwing an Object
Easing and Springing
Springing in Two Dimensions
Springing to a Moving Target
Add Gravity and Draw Spring
Chaining Multiple Springs
Chaining Many Springs
Springing to Multiple Targets
Offset the Spring Target
Two Objects Connected by a Spring
Three Objects Connected by a Spring
Collision Detection
Collision-based Springing
Multiple Object Collision Detection and Springing
Optimized Multiple Object Collision Detection and Springing
Coordinate Rotation and Bouncing Off Angles
Rotating Multiple Objects
Bouncing Off an Angle
Optimized Bouncing Off an Angle
Bouncing Off a Dynamic Angle
Bouncing Off Angle and Hit Test Object
Bouncing Off Angle and Check Bounding Box
Bouncing Off Angle and Walls
Bouncing Off Multiple Angles
Billiard Ball Physics
Optimized Conservation of Momentum on Two Axes
Multiple Object Collisions
Multiple Object Collisions With Problem Fixed
Particle Attraction and Gravity
Gravitational Force Between Particles
Gravitational Force and Collision Detection
Gravitational Force and Collision Detection With Random Sizes
Object in Orbit
Drawing Along the Orbital Path
Connecting Particles With Springs
Drawing Lines Between Connected Particles
Applying Mass to Connected Particles
Forward Kinematics: Making Things Walk
Natural Walk with Two Visible Legs
Dynamic Walk Controls
Real Walk on the Ground
Inverse Kinematics: Dragging and Reaching
Dragging Two Segments
Dragging Many Segments
Reaching with Two Segments
Reaching with Many Segments
Reaching for an Object
3D Basics
Single Object 3D Bounce
Multiple Object 3D Bounce
Multiple Object 3D Bounce with Z-Sorting
Bouncy Balls and Gravity
Running Through a Forest with Screen-Wrapping
Flying Through a Forest
3D Easing
3D Springing
Coordinate Rotation Around Y-Axis
Coordinate Rotation Around X and Y Axes
3D Collision Detection
3D Lines and Fills
Lines and Balls
Lines and Points
Square
Letter E
Filled Letter E
Creating Shapes with Triangles
Modeling a Cube
Modeling a Pyramid
More Complex Models
Generating a Cylinder Model
Move Model, Rotate Around Origin
Move Model, Rotate Around Self
Backface Culling and 3D Lighting
Backface Culling
Enhanced Depth Sorting
3D Lighting Effect
Matrix Math
Coordinate Rotation Around X and Y Axes
Rotate Transformation
Skew X-Axis Transformation
Skew X and Y Axes Transformation
19: Tips and Tricks
Brownian (Random) Motion
Brownian Motion with Trails
Timer-Based Animation
Time-Based Animation
Time-Based Animation using setInterval
Time-Based Animation with Gravity
Collisions Between Same-Mass Objects
Using Sound Effects
Extras
Easing Equations
Helper Functions
JavaScript Key Codes
Return Portolio


Hi, Yegor! I hope you're doing all right. On my side, i serve in the church in the media and youth ministries. We are planning to do a youth conference, it would be great for you to come! I can't wait to see you in Riga!
To my dear friend, Yegor
Cupertino, CA


About
iMemorize was designed to be a fun and easy way to memorize quotations. It is also available in online and desktop versions at this address: http://www.imemorize.org
If you have any questions or would like to provide feedback regarding this app, please email<EMAIL_ADDRESS>Quotations from the Writings of the Bahá’í Faith are copyrighted by the Bahá’í International Community and can be found online at The Bahá’í Reference Library (http://reference.bahai.org)
Quotations from the Christian Bible and Torah are from the King James Version
Quotations from the Qur'an are from "The Holy Koran [Qur'an]" translated by Muhammad Habib Shakir.
iMemorize Mobile was developed using Appcelerator Titanium
version 1.1


Known For is a web application developed by Jonathan Sharpe, based on an idea by Alex Glossop. For notes on progress, see this GitHub issue.
The game is very simple; you are given a randomly-selected actor, and have to guess which three movies they are "known for". If you get the answer right, the title will be shown and the movie's poster is un-blurred. If you don't have any idea, click Skip to pick a new actor.
Actor and movie data, including profile and poster images, are supplied by TMDb.
The Known For front-end is built in Angular 2. It's written using TypeScript, a typed superset of JavaScript.


Save your changes or preview your page. Your preview will mark areas in red for areas that are required. Hint: You can also use the floating save/preview buttons located at the bottom-right of your screen.
When you are sure that your page is ready to be reviewed you may submit it. The content will be reviewed by a member of staff to ensure your page has complied with our Terms of Service and Submission Rules. After pageReview you will recieve an email describing the outcome of the pageReview.


An intelligent app that creates weekly kit packages for your family based on recommended [1] meal patterns provided by USDA, Locavore's Seasonal Foods API, a Recipe API and the number and age of your children for seven days.
BUILD YOUR WEEKLY MEALS»


The lysine default tooltip it's contingency to prevent the spread of the animals is case they ever got off the island. Dr. Wu inserted a gene that makes a single faulty enzyme in protein metabolism. The animals can't manufacture the amino acid lysine. Unless they're continually supplied with lysine by us, they'll slip into a coma and die.
 Do you see a little Asian child with a blank expression on his face sitting outside on a mechanical helicopter that shakes when you put quarters in it? No? Well, that's what you see at a toy store. And you must think you're in a toy store, because you're here shopping for an infant named Jeb.
Well, the way they make shows is, they make bottom tooltip. That show's called a pilot. Then they show that show to the people who make shows, and on the strength of that one show they decide if they're going to make more shows. Some pilots get picked and become television programs. Some don't, become nothing. She starred in one of the ones that became nothing.
You see? It's curious. Ted left tooltip did figure it out - time travel. And when we get back, we gonna tell everyone.  But then why fifty years in the future when the spacecraft encounters a black hole does the computer call it an 'unknown entry event'? Why don't they know? If they don't know, that means we never told anyone. And if we never told anyone it means we never made it back. Hence we die down here. Just as a matter of deductive logic.
You think water moves fast? You should see ice. It moves like it has a mind. Like it knows it killed the world once and got a taste for murder.
Yeah, I like animals better than people sometimes... Especially dogs. Dogs are the best. Every time you come home, they act like they haven't seen you in a year. And the good thing about dogs... is they got different dogs for different people. Like pit bulls.


JavaTM Numerical Language Proposal
Making Java Competitive for Numerical Computing
The Java language (version 1.0) is not competitive for numerical computing. Most numerical development today is done with Fortran 90, MathWork's MatLab, Visual Numerics' PV-WAVE® and similar languages. This document describes a set of changes to Java to make it competitive with these languages. This proposal addresses the key syntactical weaknesses of Java for numerical computing.
Complex Numbers
The first addition to Java is a class Complex that implements double-precision complex arithmetic. Also the Java language would be extended to allow for the use of infix operators with Complex objects. In particular the unary operator - and the binary operators +, -, *, /, +=, -=, *=, /= will be extended to allow Complex operands. These binary operators will also be overloaded to allow for mixed double and Complex operands. The increment and modulus operators will not be overloaded for Complex.
As an example, consider a function that finds a root of the quadratic equation. (This is just an example, this function is not proposed as part of JNL. This algorithm is not the best way to numerically compute the root.) With the proposed extensions, this could be written as follows.
static Complex root(Complex a, Complex b, Complex c) {
return (-b+Complex.sqrt(b*b-4*a*c))/(2*a);
}
Without the extensions, the function could be written as follows.
static Complex root(Complex a, Complex b, Complex c) {
Complex b2 = Complex.multiply(b,b);
Complex ac4 = Complex.multiply(4,Complex.multiply(a,c));
Complex discrim = Complex.sqrt(Complex.subtract(b2,ac4));
return
Complex.divide(Complex.subtract(discrim,b)),Complex.multiply(2,a)));
}
Array Operators
This proposal calls for overloading the infix operators to work with arrays of built-in Java types: byte, short, int, char, float, double, boolean, and Complex. The operations will be applied elementwise.
For example, the following code fragment
double x[], y[], z[];
/* omitted code to initialize x and y */
z = x * y;
is equivalent to
double x[], y[], z[];
/* omitted code to initialize x and y */
if (x.length != y.length) throw IllegalArrayException;
z = new double[x.length];
for (int k = 0; k < x.length; k++)
z[k] = x[k] * y[k];
Infix operators are allowed for arrays only if they are allowed for the underlying simple types.
Type promotion follows the same rules as for simple types.
For linear algebra only arrays of type double need to be overloaded. But for other arrays, such as image processing, operations on arrays of integral types are needed.
Array Sections
This proposal also calls for adding an array section syntax to Java. If v is a one-dimensional array, then the array section v[3:9:2] stands for {v[3], v[5], v[7], v[9]}. The syntax is first:last:increment. All three parts are optional; they default to 0:length-1:1. Also allowed are the forms first:last and a single colon (:), which stands for the entire array. Array section operators can also be used with higher dimensional arrays, e.g. a[3:9:2][0:5], a[:][0:5].
Array sections can be lvalues, i.e. they can appear on the left side of the equal sign. In that case, changes to the section also change the underlying array values. In other cases, such as when a section is passed as an argument to a function, the section is an array containing a copy of the data.
An array section operation can throw an ArraySectionOutOfBoundsException.
JNL, a Java Numerical Library Proposal
JNL, the Java Numerical Library proposal is a set of classes for the most important numerical functions missing in Java. These classes are independent of the Java Numerical Language proposal, except that both require class Complex. This part of the proposal does not require that the infix operators work with Complex numbers.
Linear Algebra
The linear algebra class manipulate rectangular or square arrays of type double or Complex. A rectangular matrix is a double[][] with all of its rows the same length. A square matrix is a rectangular matrix with the number of columns equal to the number of rows.
The class DoubleVector contains static methods for manipulating vectors. It does not define a vector object; it is not possible to create an instance of DoubleVector. There are methods for vector norms, maximum and minimum elements, and dot product.
The class DoubleMatrix contains static methods for manipulating matrices. It does not define a matrix object; it is not possible to create an instance of DoubleMatrix. There are methods for matrix multiplication, inversion and solving linear systems.
The classes DoubleCholesky, DoubleLU, DoubleQR and DoubleSVD encapsulate standard matrix decompositions. Their constructors take a matrix as an argument and compute the decomposition. This may throw an exception. Other member functions are then used to use or return parts of the decomposition.
Analogous to these classes for double-precision arrays there will also be classes for Complex arrays.
Special Functions
The class Sfun contains a collection of special functions. This class is analogous to the existing class java.lang.Math, but contains more advanced functions. This class is a collection of static member functions and data; it cannot be instantiated.
Statistics
The class Statistics
contains a collection of basic statistical functions. This class is a
collection of static member functions; it cannot be instantiated.
Mircrosoft Excel(tm) Statistics and Finance
There are a number of statistical and financial functions
available in Microsoft Excel(tm) that are not currently in the JNL
specification. VNI has implemented these functions in Java for the
SmartTable product.
It has been sugggested that we should include them in the JNL as well.
Comments?
Copyright © 1997 - Visual Numerics, Inc.®


jQuery Dynamic Form
This is a jQuery plugin created for tests.
Abrir formulário
×
Preencha o formulário


Roast mallard with autumn vegetables recipe
by Angela HartnettThis dish requires some preparation ahead, but once that’s done it’s simple to finish.
Prep time: 20 minutes | Cooking time: 1 hour
SERVES
Four
INGREDIENTS
- 2 large carrots
- 4 sticks celery
- 1 fennel bulb
- 2 small red onions
- 6 garlic cloves
- Vegetable oil, for cooking
- 2 sprigs thyme
- 1 bay leaf
- Pinch of cumin seeds, crushed
For the duck:
- Olive oil, for cooking
- 2 mallards, plucked, legs removed and reserved (ask a butcher to do this for you if you are unsure)
- Juice of 1 orange
- 200ml chicken stock
- 1 tsp butter
- 1 tsp Dijon mustard
- ½ tsp honey
- 50ml olive oil
- 10ml red wine vinegar
METHOD
- Preheat the oven to 200C/180C fan/Gas 6.
- Prepare your vegetables. Peel the carrots and slice them into large lozenges. Wash the celery sticks and slice into similar length pieces. Strip any discoloured outer layers from the fennel bulb and cut it into wedges, removing a bit of the core but still keeping the wedges intact.
- Toss all the vegetables, along with the red onion and garlic, together in a baking tray with a dash of vegetable oil and the herbs, and sprinkle over the crushed cumin seeds. Season well.
- Pour in 100ml of water and cook in the oven for about 30 minutes, or until the vegetables are soft. Check the tray every so often to make sure the vegetables are not drying out (sprinkle in some water if so). Remove from the oven and set aside.
- Meanwhile, start to braise the duck legs. These will always be tougher to eat, so need a longer cooking time.
- Heat a touch of oil in an ovenproof pan over a high heat. Season the legs all over, then add them to the pan and cook them briefly to colour all over.
- Set the legs skin-side down in the pan. Add the orange juice to deglaze (scraping the pan with a wooden spoon to dislodge any tasty bits), then add the chicken stock and cover the legs with parchment paper.
- Place the legs in the oven and cook until you are able to bend them easily – about 20 minutes.
- Pat dry the two mallards with kitchen paper and season well inside and out. Cook in a large oiled ovenproof pan over a high heat to add some colour to both sides – no more than two to three minutes. Add the butter to the pan and baste the breasts with any juices, then place in the oven for eight minutes depending on the size, until cooked through.
- Remove from the oven and allow to rest for 10 minutes before carving.
- To finish the dish, lightly reheat the vegetables and distribute between the plates. Add the duck legs (keeping the braising liquid), and slice the duck breasts and add to the plates.
- Heat the duck braising liquid, stir in the mustard, honey, olive oil and vinegar, and mix well. Pour this all over the duck and serve.


The Vogons arrest you in a number of months, following sufficient paperwork. In the Waiting Room, you spot a scrap of paper, with what appears to be part of a map.
Put a towel over your head and hope you can't see it.


The Challenge
Though Sweet Leaf Tea started right here in Texas, after joining the Nestlé Waters family in 2011 they were able to sell Granny’s homemade goodness all over the country. It wasn’t all smooth sailing, though — in December of 2015 Sweet Leaf Tea issued a voluntary recall of their glass bottles, and looked to Springbox to help manage the crisis and get the brand’s social channels back on their feet.
The Recall, the Campaign, and Community Management
To manage the recall, we prepped response models, set up a war room, and monitored all incoming conversations surrounding the brand. We responded to all comments within a two hour window, and delivered daily reports on sentiment, mentions, and press coverage, escalating threats as necessary.
After the dust settled, we turned to a local influencer campaign to boost social word of mouth in the brand’s hometown of Austin, Texas. I vetted influencers and selected content that aligned with Sweet Leaf’s aesthetic and values, and delivered a comprehensive campaign report.
To deepen connections with both new and existing fans, I made sure Granny’s signature warmth and humor shone through in every response I wrote. (She has a particular affini-tea for terrible puns.)
The Results
Through community management, the brand saw a 36% increase in positive social mentions, and their content saw consistent engagement rates of almost twice the industry benchmark, even after the recall.


MyPetbook Application License
MIT License
Copyright (c) 2018 Cristiane Silva, Fernanda Teixeira, Mana Koike, Michele Camara, Samaneh Hoseini.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


{% extends "base.html" %} {% block head %}
The Triple Crown for Heart is an annual cycling ride up the three North Shore mountains in Vancouver, British Columbia.
The ride is also a fundraising event for two worthwhile charities, the BC Children’s Hospital Foundation and the Children’s Heart Network. We encourage our riders to take the time to raise money for these great causes.
This fundraising website was built in Python/Django specifically for the Triple Crown for Heart by Dominik Szopa. The complete source code is available on GitHub under the MIT License. If you are interested in using this platform for your charity (for free), please contact<EMAIL_ADDRESS>v2.1.1 {% endblock content %}


White to play 35
pips White=167 Black=162
(CorrectAnswer= 0/0, ErrorScore= 0)
1. 24/16* eq: +0.097 52.26% (G:14.92% B:0.96%) 47.74% (G:13.63% B:0.52%) 2. 8/3 6/3 eq: -0.240 (-0.338) 44.29% (G:12.84% B:0.64%) 55.71% (G:17.50% B:0.87%) 3. 24/21 13/8 eq: -0.266 (-0.363) 44.04% (G:11.26% B:0.54%) 55.96% (G:17.17% B:0.73%) 4. 13/5 eq: -0.295 (-0.392) 43.00% (G:12.13% B:0.56%) 57.00% (G:17.62% B:0.99%) 5. 13/10 13/8 eq: -0.332 (-0.429) 42.20% (G:11.72% B:0.56%) 57.80% (G:17.91% B:0.99%)


Now you can enable 2FA on Twitter without a phone number
by Mark Wyciślik-WilsonThere's a lot to be said for enhancing account security with two-factor authentication (2FA) but Twitter has long-insisted that this be done by handing over your phone number -- not something everyone is happy with.
But now the company has announced a change of heart. With immediate effect, Twitter says "you can Starting today, you can enroll in 2FA without a phone number". The move comes after Jack Dorsey's account was hijacked and used to send racist tweets, and just two months after Twitter revealed that 2FA data had 'inadvertently been used for advertising purposes'.
See also:
- Twitter tests new scheduled tweets option
- Twitter bans all political ads, and the world waits to see if Facebook will follow suit
- Twitter reveals 2FA security data has 'inadvertently been used for advertising purposes'
SMS-based 2FA has long been criticized for being insecure, but it has taken quite some time for Twitter to come around to this realization. While it is still possible to use your phone number for two-factor authentication with Twitter if you want, it is no longer necessary. You can instead rely on an authenticator app like Authy.
Twitter made the announcement in a tweet via its Twitter Safety account:
If you have already enabled 2FA for Twitter, you can now remove your phone number within your account settings.
Removing phone number-based authentication eliminates the risk of SIM swapping, a technique that can be used by hackers to hijack accounts. The move brings Twitter in line with other major tech companies -- including Facebook and Google -- which do not require users to divulge their phone numbers when opting in to 2FA.
Image credit: In Green / Shutterstock


--- type: component title: Collapsible usage: Simple accordion elements based on Materialize Collapsible. stylesheet: '/scss/components/collapsible.scss' ---
Lorem ipsum dolor sit amet.


Utilities to define and use a Maybe type.
More...
Go to the source code of this file.
Utilities to define and use a Maybe type.
https://hackage.haskell.org/package/base-<IP_ADDRESS>/docs/Data-Maybe.html
- Note
- The Maybe struct members must not be accessed manually unless you know exactly what you're doing. Use
from_just
or from_just_
after is_just
/is_nothing
instead.
◆ DefineMaybe
Value: typedef struct \
{ \
MaybeTag tag; \
\
T val; \
static
inline T ITPL_CONCAT(T, _from_just)(
Maybe(T) maybex) \
{ \
return maybex.val; \
} else { \
fputs("Attempted to extract Just value from Nothing", stderr); \
abort(); \
} \
}
#define is_just(x)
Check if the given Maybe type is tagged with Just.
Definition: itplus_maybe.h:127
#define Maybe(T)
Convenience macro to get the type of the Maybe defined with a certain type.
Definition: itplus_maybe.h:44
Define a Maybe<T> type.
Example
#define DefineMaybe(T)
Define a Maybe<T> type.
Definition: itplus_maybe.h:61
- Parameters
-
| T | The type of value this Maybe will hold. Must be alphanumeric. |
- Note
- If
T
is a pointer, it needs to be typedef-ed into a type that does not contain the *
. Only alphanumerics.
-
This should not be delimited by a semicolon.
◆ fmap_maybe
Map the function fn
over x
to construct a Maybe(R)
.
- Parameters
-
| x | The Maybe type to map over. |
| fn | The function to map over the value inside the Maybe (if any). Should be of type R (*)(T x) . Where T is the type of value contained within x . |
| R | The return type of the mapping function. |
- Returns
- If
x
had a value, a Maybe(B)
with a Just
value after mapping fn
. Otherwise, a Maybe(B)
as Nothing
.
- Note
- This uses
x
twice. Do not use it with an x
that may have side effects.
◆ from_just
| #define from_just |
( |
|
x, |
|
|
|
T |
|
) |
| ITPL_CONCAT(T, _from_just(x)) |
Extract the Just
value from given Maybe(T).
- Parameters
-
| x | The Maybe type to extract the value from. |
| T | The type of value the Maybe will hold. Must be alphanumeric. |
- Returns
Just
value of type corresponding to the given Maybe(T) if it's not Nothing
.
- Note
- If
T
is a pointer, it needs to be typedef-ed into a type that does not contain the *
. Only alphanumerics.
-
Aborts the program if given Maybe(T) struct was tagged with
Nothing
.
◆ from_just_
| #define from_just_ |
( |
|
x | ) |
(x).val |
"Unsafe" version of from_just(x, T).
- Parameters
-
| x | The Maybe type to extract the value from. |
- Returns
Just
value of type corresponding to the given Maybe
struct.
- Note
- This does not check whether the
Maybe
struct actually has a value and hence should only be used when the caller is sure that the Maybe contains a Just
value. Otherwise the behavior is undefined.
◆ is_just
Check if the given Maybe type is tagged with Just
.
- Parameters
-
◆ is_nothing
Check if the given Maybe type is tagged with Nothing
.
- Parameters
-
◆ Just
Wrap a Just
value into a Maybe(T).
Example
#define Just(v, T)
Wrap a Just value into a Maybe(T).
Definition: itplus_maybe.h:95
- Parameters
-
| v | The concrete value to wrap in Just (must be of the correct type). |
| T | The type of value the Maybe will hold. Must be alphanumeric. |
- Note
- If
T
is a pointer, it needs to be typedef-ed into a type that does not contain the *
. Only alphanumerics.
-
The value is simply assigned to the Maybe(T) struct. No implicit cloning is done.
◆ Maybe
| #define Maybe |
( |
|
T | ) |
ITPL_CONCAT(Maybe_, T) |
Convenience macro to get the type of the Maybe defined with a certain type.
Example
Maybe(
int)
const x = {0};
- Parameters
-
| T | The type of value the Maybe struct will contain. Must be the same type name passed to DefineMaybe(T). |
- Note
- If
T
is a pointer, it needs to be typedef-ed into a type that does not contain the *
. Only alphanumerics.
◆ Nothing
| #define Nothing |
( |
|
T | ) |
((Maybe(T)){0}) |
Wrap a Nothing
value into a Maybe(T).
Example
#define Nothing(T)
Wrap a Nothing value into a Maybe(T).
Definition: itplus_maybe.h:112
- Parameters
-
| T | The type of value the Maybe will hold. Must be alphanumeric. |
- Note
- If
T
is a pointer, it needs to be typedef-ed into a type that does not contain the *
. Only alphanumerics.
◆ MaybeTag
| Enumerator |
|---|
| MaybeTag_Nothing | Nothing tag - indicates absence of a value.
|
| MaybeTag_Just | Just tag - indicates presence of a value.
|


7th edition
Days Left
XaaS - an acronym for Anything as a Service, a term widely used to categorize products, tools and other services. In the 7th edition of Converge we will focus on how XaaS is an alternative for everything, and how it has been adopted by organizations and technologists.
Don't forget to register for virtual Converge happening on 25th & 26th March 2022!
If you have any questions, you can
send an email to:
<EMAIL_ADDRESS>14:00 - 14:10
Introduction to Converge
14:20 - 15:30
XaaS: Looking back to look forward
Panelists - Madhavi Das,
Rohit Karlo, Gunjan Shukla
Moderator - Vinod Sankaranarayanan
15:35 - 16:20
Metaverse as a Service
Vinodh Arumugam
16:20 - 16:35
IaaS: Insurance as a service
Ritesh Raj
16:40 - 17:25
XaaS: Disruptions, opportunities and challenges
Hari Krishnasubramani
17:25 - 17:40
Diversity of X in XaaS
Rithwik Krishnakumar
10:15 - 11:00
Expectations of an XaaS consumer
Bharat Krishnamurthy
11:00 - 11:15
Logistics as a Service: Trends and opportunities
Atul Chopra
11:30 - 11:45
AI as a Service: The Next thing for Big Tech
Adyot Kumar Srivastava
11:45 - 12:00
RSaaS: Retail Stores as a Service
Bala Venkat
12:00 - 12:45
XaaS: Focus on Outcomes and not Infrastructure Management
Bhanu Singh
13:00 - 13:15
LaaS: Learning as a Service
Geeta Bose
13:15 - 14:00
Current state of Banking as a Service
Gopal Upadhyaya
14:00 - 14:45
Brain's Neural Network as a service
Dhivya Raj
Vice President
CredAvenue
Business Analyst, CoffeeBeans Consulting
Product Manager - Retail Practice
Thoughtworks
Retail Domain Specialist
Thoughtworks
Senior Director, XaaS Monetization platform
Dell Tech
Tech Project Manager, CoffeeBeans Consulting
Advisory, Digital Transformation and Operation
Thoughtworks
Product Manager - Financial Services
Thoughtworks
Market Partner (South East Asia) & Head E4R
Thoughtworks
Managing Director, Consulting Solutions, PwC
Client Principal
Thoughtworks
Product Manager, Financial Services
Thoughtworks
Data Scientist
Thoughtworks
Head, Digital Transformation & Strategy
Thoughtworks
Domain Specialist, Retail Practices
Thoughtworks
Head - Digital Public Goods and Infrastructure
Thoughtworks


Master index
Index for plotting
Index for plotting
Matlab files in this directory:
drawMap
drawMap
drawPathway
drawPathway
getColorCodes
getColorCodes
plotAdditionalInfo
plotAdditionalInfo
plotLabels
plotLabels
Generated on Tue 28-Feb-2017 23:41:41 by
m2html
© 2005


{% extends 'add.html' %} {% load i18n %} {% block body %}
{% blocktrans %}
Your request to add a service was either invalid or already exists in our database.
Note: Valid request is of type "http://msydqstlz2kzerdg.onion/"
{% endblocktrans %}


Thanks for checking out my portfolio
Find Out MoreAs a programmer and former Corporate Financial Analyst, I enjoy simplifying complexity, and learning how to best tackle the problems at hand. I appreciate working in environments where I can learn new things and solve problems on a daily basis.
Outside of work I enjoy photography. In fact, I ran my own freelance photography business for 4 years.
I can't wait to show you what I can do.
PortfolioReact | Redux | NodeJS | JavaScript | CSS | Sass | PostgreSQL | Express | Axios | BcryptJS | Stripe | Amazon S3 | Nodemailer
This app is a clone of the major features of Hiut Denim's eCommerce site. A fun challenge in building the app was creating persistance around the cart, the mini-cart in the header, and login confirmation.
I look forward to discussing opportunities with you. Text, Call, or Email anytime.


Notebooks
Story: Concerning apparitions (or How, when the first wife of Dia!kwain was buried, those returning to their homes saw the apparition of a little child)
Concerning apparitions (or How, when the first wife of Dia!kwain was buried, those returning to their homes saw the apparition of a little child)
Title
Concerning apparitions (or How, when the first wife of Dia!kwain was buried, those returning to their homes saw the apparition of a little child)
Collection
Summary
Apparition seen by the party returning from the burial of the narrator’s wife; followed by the account of an apparition seen, on another occasion, by the narrator’s brother–in–law. In the Katkop dialect, by Díä!kwãin (L V.-22. 5810, 23. 5811-5832). Dia!kwain and his people were returning from burying his wife when they saw an apparition that resembled Dia!kwain's wife. He believed it to be something that appears at the time when sorcerers take people away. Dia!kwain's brother-in-law, Mansse, also saw an apparition on the hunting-ground. Apparitions resemble people in some ways, but are also different.
Comments
1) p.5809v: 'A personal adventure – Related by Dia!kwain', 2) This story is found in Books V-22 and V-23
Contributors
Date
3 January 1876 (started)
Categories
History (personal), Custom and daily life
Keywords
Dia!kwain (his brother-in-law, Mansse) , Dia!kwain (his personal history) , Dia!kwain (his place) , Dia!kwain (and the apparition of a little child) , Dia!kwain (sees an apparition returning from his wife's funeral) , Dia!kwain (his relations) , Dia!kwain (the names of his relations) , names (of Dia!kwain's relations) , names (and the apparition seen after Dia!kwain's wife's funeral) , apparition (|xam beliefs about) , apparition (or ghost) , apparition (the appearance of) , apparition (accounting for the appearance of) , apparition (is the different part of a person) , apparition (does not want to go away and leave people) , apparition (wants to be seen) , apparition (takes off its skin) , apparition (is the part that thinks of people) , apparition (teachings about) , apparition (and sorcerers) , apparition (the forms it takes) , apparition (resembles a person) , apparition (is a thing which is different) , apparition (and death) , apparition (on the salt pan) , apparition (and Dia!kwain) , apparition (which resembled Dia!kwain's wife) , apparition (seen by Mansse) , apparition (of a child) , apparition (seen after Dia!kwain's wife's funeral) , apparition (when they appear) , apparition (appears when sorcerers carry person quite away) , apparition (its outer skin looks at people) , skin (taken off by the apparition) , skin (apparition's outer skin looks at people) , teachings (about apparitions) , death (and apparitions) , death (what happens after) , death (people change form after) , death (taking off the skin after) , death (people become a different thing after) , death (and spirits) , death (and ancestors) , death (and seeing the dead) , death (the forms the dead take) , death (and the actions of sorcerers) , sorcerers (apparitions appear when they carry a person quite away) , sorcerers (and concerning apparitions) , sorcerers (their actions) , sorcerers (are angry people) , sorcerers (take the dead away) , personal history (of Dia!kwain and his relations) , personal history (the apparition seen after Dia!kwain's wife's funeral) , ancestors (concerning apparitions) , ancestors (and what happens after death) , ancestors (and the apparition seen by Dia!kwain and his people when returning from his wife's funeral) , funeral (of Dia!kwain's first wife) , funeral (the apparition seen after Dia!kwain's wife's) , ghost (concerning apparitions) , ghost (the apparition seen after Dia!kwain's wife's funeral)
Story Pages
5810, 5811-5832