lingvo.tasks.mt.encoder module¶
Encoders for the machine translation model.
-
class
lingvo.tasks.mt.encoder.
MTEncoderV1
(*args, **kwargs)[source]¶ Bases:
lingvo.core.base_encoder.BaseEncoder
Machine translation encoder version 1.
-
classmethod
Params
()[source]¶ Configs for
MTEncoderV1
.
-
FProp
(theta, input_batch)[source]¶ Encodes source as represented by
inputs
andpaddings
.Parameters: Returns: (outputs, out_paddings, src_segment_id) tuple.
outputs
is of the shape [time, batch, depth], andout_paddings
is of the shape [time, batch].src_segment_id
should have the shape [time, batch] if packed inputs are supported by the model (and all layers), or None otherwise.
-
classmethod
-
class
lingvo.tasks.mt.encoder.
MTEncoderUniRNN
(*args, **kwargs)[source]¶ Bases:
lingvo.core.base_encoder.BaseEncoder
MT encoder that consists of a stack of uni-directional RNN layers.
-
classmethod
Params
()[source]¶ Configs for
MTEncoderUniRNN
.
-
FProp
(theta, input_batch)[source]¶ Encodes source as represented by
inputs
andpaddings
.Parameters: - theta – A
NestedMap
object containing weights’ values of this layer and its children layers. - inputs – The inputs tensor. It is expected to be of shape [batch, time, …].
- paddings – The paddings tensor. It is expected to be of shape [batch, time].
- segment_id – source segment id, of shape [batch, time]. This input is meant to support multiple samples in a single training sequence. The id identifiess the sample that the input at the corresponding time-step belongs to. For example, if the two examples packed together are [‘good’, ‘day’] -> [‘guten-tag’] and [‘thanks’] -> [‘danke’] to produce [‘good’, ‘day’, ‘thanks’] -> [‘guten-tag’, ‘danke’], the source segment ids would be [0, 0, 1] and target segment ids would be [0, 1]. These ids are meant to enable masking computations for different examples from each other. Models or layers than don’t support packed inputs should pass None.
Returns: (outputs, out_paddings, src_segment_ids) triple.
outputs
is of the shape [time, batch, depth], andout_paddings
is of the shape [time, batch, 1]. src_segment_ids should have the shape [time, batch] if packed inputs are supported by the model (and all layers), or None otherwise.- theta – A
-
classmethod
-
class
lingvo.tasks.mt.encoder.
MTEncoderBiRNN
(*args, **kwargs)[source]¶ Bases:
lingvo.core.base_encoder.BaseEncoder
MT encoder that consists of a stack of bi-directional RNN layers.
-
classmethod
Params
()[source]¶ Configs for
MTEncoderBiRNN
.
-
FProp
(theta, input_batch)[source]¶ Encodes source as represented by
inputs
andpaddings
.Parameters: - theta – A
NestedMap
object containing weights’ values of this layer and its children layers. - inputs – The inputs tensor. It is expected to be of shape [batch, time, …].
- paddings – The paddings tensor. It is expected to be of shape [batch, time].
- segment_id – source segment id, of shape [batch, time]. This input is meant to support multiple samples in a single training sequence. The id identifiess the sample that the input at the corresponding time-step belongs to. For example, if the two examples packed together are [‘good’, ‘day’] -> [‘guten-tag’] and [‘thanks’] -> [‘danke’] to produce [‘good’, ‘day’, ‘thanks’] -> [‘guten-tag’, ‘danke’], the source segment ids would be [0, 0, 1] and target segment ids would be [0, 1]. These ids are meant to enable masking computations for different examples from each other. Models or layers than don’t support packed inputs should pass None.
Returns: (outputs, out_paddings, src_segment_ids) triple.
outputs
is of the shape [time, batch, depth], andout_paddings
is of the shape [time, batch, 1]. src_segment_ids should have the shape [time, batch] if packed inputs are supported by the model (and all layers), or None otherwise.- theta – A
-
classmethod
-
class
lingvo.tasks.mt.encoder.
TransformerEncoder
(*args, **kwargs)[source]¶ Bases:
lingvo.core.base_encoder.BaseEncoder
Transformer stack with sinusoidal positional embeddings and attention.
Implements the encoder of ‘Attention is All You Need’: https://arxiv.org/abs/1706.03762.
-
classmethod
Params
()[source]¶ Configs for
TransformerEncoder
.
-
FProp
(theta, input_batch)[source]¶ Embeds source ids and transforms with TransformerStack.
Parameters: Returns: (outputs, out_paddings, src_segment_id) tuple.
outputs
is of the shape [time, batch, depth], andout_paddings
has shape [time, batch].outputs
can be a list of output tensors if is_transparent is set in transformer_stack.src_segment_id
should have the shape [time, batch] if packed inputs are supported by the model (and all layers), or None otherwise.
-
classmethod


MoveToCode
Profiles Directory Reference
Files
file
BaseMixedRealityProfileInspector.cs
file
BaseMixedRealityToolkitConfigurationProfileInspector.cs
file
DataProviderAccessServiceInspector.cs
file
MixedRealityBoundaryVisualizationProfileInspector.cs
file
MixedRealityCameraProfileInspector.cs
file
MixedRealityControllerMappingProfileInspector.cs
file
MixedRealityControllerVisualizationProfileInspector.cs
file
MixedRealityDiagnosticsSystemProfileInspector.cs
file
MixedRealityEyeTrackingProfileInspector.cs
file
MixedRealityGesturesProfileInspector.cs
file
MixedRealityHandTrackingProfileInspector.cs
file
MixedRealityInputActionRulesInspector.cs
file
MixedRealityInputActionsProfileInspector.cs
file
MixedRealityInputSystemProfileInspector.cs
file
MixedRealityMouseInputProfileInspector.cs
file
MixedRealityPointerProfileInspector.cs
file
MixedRealityProfileCloneWindow.cs
file
MixedRealityRegisteredServiceProviderProfileInspector.cs
file
MixedRealitySceneSystemProfileInspector.cs
file
MixedRealitySpatialAwarenessMeshObserverProfileInspector.cs
file
MixedRealitySpatialAwarenessSystemProfileInspector.cs
file
MixedRealitySpeechCommandsProfileInspector.cs
file
MixedRealityToolkitConfigurationProfileInspector.cs
Assets
MRTK
Core
Inspectors
Profiles
Generated on Wed Apr 21 2021 10:47:04 for MoveToCode by
1.9.1


SignUp
*FIRST NAME
*LAST NAME
*EMAIL ADDRESS
*PHONE
*CREDITE CARD
*PASSWORD
*CONFIRM PASSWORD
*ADDRESS
*CNIC
*CLASS
*GENDER
MALE
FEMALE
OTHERS
*SECTION
*TEACHER (INCHARGE)
*GUARDAIN
SELECT IMAGE
REGISTER NOW


My family is all over the world, and I wanted a dashboard to see what time it was where they live.
This is done in pure JS, without using any libraries such as moment.js!


Add toBeTorn Property Use-Case.Description:Indicates that the stream has to be torn during a Tearing Analysis.This property is used or not by the Tearing analysis, that is implementation dependent.Assumptions:None.Exceptions:None.


@@include('./src/shared/_meta.html') @@include('./src/shared/_stylesheet.html', { "root": "." }) @@include('./src/shared/_script.html', { "root": "." })
@@include('./src/shared/_navbar.html', { "root": "." })Kaku is open sourced at GitHub and is maintained by many contributors. Please feel free to contribute if you love this project !
We use web technology to build up Kaku from scratch. So it supports Windows, Mac OS and Linux. Feel free to download anyone which matches your platform !
In our design, Kaku should be an awesome music player which supports different music sources like YouTube, Baidu, Vimeo ... etc. If you are interested with our following releases that may support other different sources, please go like our Facebook page for our updates !
At first, Kaku is just a small project made as a gift. But after a while, this has become a big project including so many awesome features (and more coming up). But we all know that any kind of development takes time and money needless to say Kaku is way beyond my original imagination !
Any 1 peny will be a big help and I am sure they will be mainly used on this porject like server costs, developer license fees ... etc. I already opened a patreon page for Kaku and there are some awesome perks that you can get after supporting Kaku. Please give it a check and be part of this community :)
P.S if you are a company and want to sponsor Kaku, please drop me an email directly. Thanks :)
There are so many people helping on this project, thank you guys :)


I'm currently a US-based(Orlando, FL) Full-Stack Web developer with knowledge and experience with Ruby on Rails, Javascript, HTML, CSS, Node.Js, Express, and Ruby. I also have experience with digital multimedia like designing logos, and directing and editing videos for film and marketing. You can read all bout my qualifications and further experience in my resume. - If you have any further questions, feel free to get in touch. Thanks!
HTML5, CSS3, AngularJS, ReactJS, Ajax, Bootstrap, JQuery, HandleBarsJS, Multimedia Video Editing, Graphic Design
NodeJS, Express, mySQL, MongoDB, Mongoose, Active Record
Javascript, Ruby, Java
Ruby on Rails, MERN, MEAN
If you would like to get in contact with me with any questions, offers etc. Please contact me through email, at best I will get back to you within that same day or the next.
954-496-1414


GUI Utility¶
KALMUS tkinter GUI utility
-
kalmus.tkinter_windows.gui_utils.
compare_two_barcodes
(barcode_1, barcode_2)[source]¶ Compare the similarity between two barcodes using NRMSE, SSIM, cross correlation, local cross correlation, Needleman Wunsch, and Smith Waterman alignment matching
- Parameters
barcode_1 -- The input barcode 1
barcode_2 -- The input barcode 2
- Returns
The simiarity scores computed using all six metrics
-
kalmus.tkinter_windows.gui_utils.
get_comparison_result_text
(barcode_1, barcode_2)[source]¶ Get the text comparison result using the compare_two_barcodes function
- Parameters
barcode_1 -- The compared barcode 1
barcode_2 -- The compared barcode 2
- Returns
The text comparison result
-
kalmus.tkinter_windows.gui_utils.
paint_gray_hist
(bin_step, patches, opacity=0.8)[source]¶ Paint each bin of the brightness histogram with its corresponding brightness intensity (in place)
- Parameters
bin_step -- The step of the bin in the histogram
patches -- The patches of the histogram
opacity -- Opacity of the brightness intensity to avoid totally white in the high intensity bin To make the histogram bin in high intensity area more observable
-
kalmus.tkinter_windows.gui_utils.
paint_hue_hist
(bin_step, patches)[source]¶ Paint each bin of the hue histogram with its corresponding color in hue (in place)
- Parameters
bin_step -- The step of the bin in the histogram
patches -- The patches of the histogram that will be painted later
-
kalmus.tkinter_windows.gui_utils.
resource_path
(relative_path)[source]¶ Internal utility function Use to convert the input relative path to the absolute path This is used for the Pyinstaller wrapper
- Parameters
relative_path -- The relative path to the file
- Returns
The absolute path to the file
-
kalmus.tkinter_windows.gui_utils.
update_axes_ticks
(barcode1, barcode2, axes)[source]¶ Update the axes ticks If two barcodes have the same temporal dimensions, the ticks will show the temporal position of a pixel in the barcode image. Otherwise, the axes ticks will show the spatial position of a pixel.
- Parameters
barcode1 -- The barcode 1
barcode2 -- The barcode 2
axes -- The axes of the plotted figure
-
kalmus.tkinter_windows.gui_utils.
update_axes_title
(axes, barcode_1, barcode_2)[source]¶ Update the title of the plotted axes (in place)
- Parameters
axes -- The plotted axes of the figure
barcode_1 -- The barcode 1
barcode_2 -- The barcode 2


Importers of fine vodka products made with all natural Quinoa
Made with the finest ingredients
For the discrimating connoisseur.
Perfect alone or as a mixed drink


Fixed in authorize-project-plugin 1.2.0. (Requires Jenkins > 1.625)
Abstract
- Authorize Project plugin provides a feature "Run as specific user" to have run builds as a specified user.
- "Run as specific user" requires authentication to configure.
- Unfortunately, Remote access API (aka WebAPI) and Jenkins CLI can bypass that authentication and users with configuration privileges can have run builds as any users (JENKINS-28298).
- This page describes details and a workaround for that problem.
Jenkins instances affected by JENKINS-28298.
Users meeting ALL following conditions are affected by this problem:
- Installs authorize-project-plugin.
- Enables "Run as specific user" in Global Security Configuration.
- The feature for enabiling / disabling a specific strategy is introdiced since authorize-project 1.1.0.
- Authorize-project < 1.1.0 always meet this condition.
- Using Jenkins >= 1.532.3 or >= 1.545.
- That is, the change in 1.545 was backported to 1.532.3.
How to avoid JENKINS-28298.
You have to disable BOTH remote access API and CLI to avoid JENKINS-28298.
Disabling remote access API (example configuration with apache HTTP server 2.4)
- Jenkins doesn't provide an option to disable Remote access API. You have to disable that by limiting accesses to URLs for remove access APIs.
- This is an example configuration with apache HTTP server 2.4
ProxyPass /jenkins http://localhost:8080/jenkins ProxyPassReverse /jenkins http://localhost:8080/jenkins <LocationMatch "^/jenkins/.*/config.xml$"> <Limit POST> Require all denied # for httpd <= 2.2 # Order deny,allow # Deny from all </Limit> </LocationMatch>
Disabling CLI
- Jenkins doesn't provide an option to disable CLI. You have to disable that by limiting accesses to the TCP port for CLI.
- CLI is accessed via "TCP port for JNLP slave agents": Jenkins CLI#Configuring TCP/IP port for CLI and slaves.#Connection mechanism
- It is defined randomly by default. You can bind that to a specific port in Global Secufiry Configuration: Jenkins CLI#Configuring TCP/IP port for CLI and slaves.
- You can disable the CLI by limiting accesses to that port:
iptables -A INPUT -p tcp --dport 49187 -j DROP
- You may want to allow accesses from specific hosts if you use JNLP (especially Windows slaves).
Status of authorize-project for the problem
- The fix for this is requested to Jenkins core: JENKINS-28440, https://github.com/jenkinsci/jenkins/pull/1715
- Fixed in Jenkins-1.625. (and Jenkins-1.625 is a LTS line)
- Authorize-project 1.1.0 provides an option to disable specific strategies and "Run as specific user" is disabled by default.
- I don't plan to remove "Run as specific user" as it's considered one of essential features of Authorize Project plugin.
How to reproduce the problem
Following Jenkins users are used in these examples:
User |
Password |
Privileges |
Comment |
|---|---|---|---|
admin |
(unknown) |
Administrative |
|
devel |
devel |
Configure a job |
he / she can configure a job run as his own authorization, but cannot (should not) configure it run as admin. |
Reproduce with remote access API
- Test that "devel" cannot configure authorize-project for "admin"
- Create a new free-style project "JENKINS-28298"
- Check "Configure Build Authorization"
- Check "Run as Specific User"
- Enter "admin" for "User ID"
- Leave empty for "Password"
- Save the configuration. It will cause an error for failure of authentication.
- Create a project that run as "devel"
- Create a new free-style project "JENKINS-28298"
- Check "Configure Build Authorization"
- Check "Run as Specific User"
- Enter "devel" for "User ID"
- Save the configuration.
- retreive current config.xml via remote access API
curl -u devel:devel -o config.xml http://[path to your jenkins]/job/JENKINS-28298/config.xml
- modify "<userid>devel</userid>" to "<userid>admin</userid>" in config.xml with an editor.
- Overwrite the configuration via remote access API
curl -u devel:devel -d @config.xml http://[path to your jenkins]/job/JENKINS-28298/config.xml
- Open the configuration page. The project is configured to run as "admin".
Reproduce with CLI
- Parepare a job "JENKINS-28298" as in #Reproduce with remote access API
- retreive jenkins-cli.jar
curl -o jenkins-cli.jar http://[path to your jenkins]/jnlpJars/jenkins-cli.jar
- retreive current config.xml via CLI.
java -jar jenkins-cli.jar -s http://[path to your jenkins]/ get-job JENKINS-28298 --username devel --password devel > config.xml
- If it fails with No such job 'JENKINS-28298', you might need to grant Overall.Read and Job.Read to anonymous users for JENKINS-12543.
- modify "<userid>devel</userid>" to "<userid>admin</userid>" in config.xml
- Overwrite the configuration via CLI.
java -jar jenkins-cli.jar -s http://[path to your jenkins]/ update-job JENKINS-28298 --username devel --password devel < config.xml
- Open the configuration page. The project is configured to run as "admin".


/***************************************************************************** * Razor Component Framework for ActionScript 3. * Copyright 2009 Ashley Atkins (www.razorberry.com) * * This file is part of the Razor Component Framework, which is made available * under the MIT License. * 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. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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. *******************************************************************************/ package razor.controls { import razor.layout.Layer; /** * A generic container with no layout implementation. */ public class Box extends Layer { /** @private */ override protected function getClass():String { return "Box"; } public function Box() { } } }


{% extends 'blog/base.html' %} {% block content %}
We've emailed you instructions for setting your password, if an account exists with the email you entered. You should receive them shortly.
If you don't receive an email, please make sure you've entered the address you registered with, and check your spam folder.
{% endblock %}


{% extends 'base.html' %} {% load static %} {% load render_bundle from webpack_loader %} {% block content %}
Perhaps you are looking for the current office or more information about this site.


Facebook
Github
Google
{{ userInfo?.phoneNumber || 'Phone number'}}
Twitter
Verify email
Change email
Change password
Change phone number
Delete account


Boston-based Software Engineer || Traveler || Writer
ResumeI am a Software Engineering looking for new opportunities. In my previous role, I quickly learned and mastered a code-based air booking software, advancing on to train its functionality to new hires. My experience as a leader, tech trainer, and love of continuous learning have translated to a love of programming, and working with a team of developers. My passion for pushing myself and pushing others to succeed continue to help me grow as a developer.
Or feel free to send a message below!


Diacritic combinations for {{language}}
Base character = {{base_hex}}: {{base_char}}
{{diacritics|length}} Diacritics: {{diacritics_hex}}
Select font:
{% for font in unicode_font_list %}
{{font.longName}}
{%endfor%}
Font size:
9
10
12
14
16
18
24
32
36
48
64
Base + combining code points
First combiner is the row and 2nd is the column
{% for d in diacritics_hex %}
{{d}}
{%endfor%}
{% for single in singles %}
{{single}}
{% endfor %}
{% for row in table%}
{{diacritics_hex.forloop.counter0}}
{% for item in row %}
{{item}}
{% endfor %}
{% endfor %}


I learned how to use a new Ruby ‘thing’ this week: Classes. To be completely honest with you, I don’t completely understand what’s going on with the Ruby ‘class’ object, but I’ve been using it, and I think I can do a reasonably competent job explaining the basics. Also this week, I learned some new tricks for arrays and hashes. Check them out at the end of my post from a few weeks ago. On to classes! I’m going to jump right in with a simple example:
Really Simple Example
class SimpleClass
def initialize
# code
end
def example_method
# code
end
end
This is a class! Calling SimpleClass.new
will create a new instance of SimpleClass. It won’t do anything, but it will exist!
The first time I searched “simple Ruby class example” I was horribly dissapointed, and could not seem to find anything that just ‘made sense’. I didn’t know what instance varibles were, so I was frustrated everytime I saw an “@” symbol. You can’t do much without varibles, so here’s some information on how to use variables with classes:
Define
Instance Variables - Variables defined inside the class definition. By convention, the first character of an instance variable is always the “@” symbol. Instance variables ‘exist’ separately for each instance of the class, and do not exist outside the class instance.
Instance Methods - Methods inside class definitions are called ‘instance methods’. They’ll only work on the class they’re defined in. It’s possible to call methods from within a class definition (example below).
Attribute Methods - Use these to read or write to instance variables outside of the class definition. I don’t have a whole lot of experience with them, but I’ll provide a short demo below (after ‘Better Example’). Currently, my favorite way to access instance variables outside class definitions is with class_instance.instance_variable_get(:@instance_variable)
Here’s a better example to illustrate some of this:
Better Example
class ClassName # => Use CamelCase for class names
def initialize(variable) # => ClassName.new calls this method
@instance_variable = variable
end
def first_instance_method
second_instance_method # => Call instance method from inside class definition
end
def second_instance_method
puts @instance_variable # => prints random_integer
end
end
random_integer = rand(0..100) # => Random integer from 0 - 100
new_instance = ClassName.new(random_integer)
new_instance.first_instance_method # => prints random_integer
Demo (attribute methods)
class IllustrateAttributes
attr_reader :read_me
attr_writer :write_me
attr_accessor :read_or_write
def initialize(read,write,both)
@read_me = read
@write_me = write
@read_or_write = both
end
end
new_instance = IllustrateAttributes.new("Read me","Change me","Do both/either")
puts new_instance.read_me # => prints "Read me"
puts new_instance.write_me # => doesn't work
puts new_instance.read_or_write # => prints "Do both/either"
new_instance.write_me = "Kelly was here."
new_instance.read_or_write = "Edited!"
puts new_instance.read_or_write # => prints "Edited!"
new_instance.instance_variable_get(:@write_me) # => "Kelly was here."
The reason there are read and write options (and they’re not all just ‘accessors’) is to prevent strange errors from happening. For example, if you were storing a credit card number, you would never want to change that number, and if you were storing a pin number or password, you would never want to read it (probably).


Fn::FindInMap
The intrinsic function Fn::FindInMap
returns the value corresponding to keys in
a two-level map that's declared in the Mappings
section.
For more information on enhancements to the Fn::FindInMap
intrinsic function
when using the AWS::LanguageExtensions
transform, see Fn::FindInMap
enhancements.
Declaration
JSON
{ "Fn::FindInMap" : [ "
MapName
", "TopLevelKey
", "SecondLevelKey
"] }
YAML
Syntax for the full function name:
Fn::FindInMap: [
MapName
,TopLevelKey
,SecondLevelKey
]
Syntax for the short form:
!FindInMap [
MapName
,TopLevelKey
,SecondLevelKey
]
You can't nest two instances of two functions in short form.
Parameters
Return value:
The value that's assigned to SecondLevelKey
.
Example
The following example shows how to use Fn::FindInMap
for a template with a
Mappings
section that contains a single map, RegionMap
, that
associates AMIs with AWS Regions.
-
The map has 5 top-level keys that correspond to various AWS Regions.
-
Each top-level key is assigned a list with two second level keys,
"HVM64"
and"HVMG2"
, that correspond to the AMI's architecture. -
Each of the second-level keys is assigned an appropriate AMI name.
The example template contains an AWS::EC2::Instance
resource whose
ImageId
property is set by the FindInMap
function.
MapName
is set to the map of interest, "RegionMap"
in this
example. TopLevelKey
is set to the region where the stack is created, which is
determined by using the "AWS::Region"
pseudo parameter.
SecondLevelKey
is set to the desired architecture, "HVM64"
for
this example.
FindInMap
returns the AMI assigned to FindInMap
. For a HVM64
instance in us-east-1, FindInMap
would return
"ami-0ff8a91507f77f867"
.
JSON
{ ... "Mappings" : { "RegionMap" : { "us-east-1" : { "HVM64" : "ami-0ff8a91507f77f867", "HVMG2" : "ami-0a584ac55a7631c0c" }, "us-west-1" : { "HVM64" : "ami-0bdb828fd58c52235", "HVMG2" : "ami-066ee5fd4a9ef77f1" }, "eu-west-1" : { "HVM64" : "ami-047bb4163c506cd98", "HVMG2" : "ami-0a7c483d527806435" }, "ap-southeast-1" : { "HVM64" : "ami-08569b978cc4dfa10", "HVMG2" : "ami-0be9df32ae9f92309" }, "ap-northeast-1" : { "HVM64" : "ami-06cd52961ce9f0d85", "HVMG2" : "ami-053cdd503598e4a9d" } } }, "Resources" : { "myEC2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "HVM64" ] }, "InstanceType" : "m1.small" } } } }
YAML
Mappings: RegionMap: us-east-1: HVM64: "ami-0ff8a91507f77f867" HVMG2: "ami-0a584ac55a7631c0c" us-west-1: HVM64: "ami-0bdb828fd58c52235" HVMG2: "ami-066ee5fd4a9ef77f1" eu-west-1: HVM64: "ami-047bb4163c506cd98" HVMG2: "ami-31c2f645" ap-southeast-1: HVM64: "ami-08569b978cc4dfa10" HVMG2: "ami-0be9df32ae9f92309" ap-northeast-1: HVM64: "ami-06cd52961ce9f0d85" HVMG2: "ami-053cdd503598e4a9d" Resources: myEC2Instance: Type: "AWS::EC2::Instance" Properties: ImageId: !FindInMap - RegionMap - !Ref 'AWS::Region' - HVM64 InstanceType: m1.small
Supported functions
You can use the following functions in a Fn::FindInMap
function:
-
Fn::FindInMap
-
Ref


Please help to share the Knowledge >>
A vital part of any Hydrogen on demand system is it’s safety features. Due to the violent nature of HHO gas we can’t afford a flash back to reach the electrolyzer. The most common solution is The HHO bubbler.
Another interesting option is the Flame Arrestor. A simple assembly that prevents from flash backs reaching the electrolyzer.
Don’t compromise on safety.
Enjoy the Video guide.


In p >> n settings, full posterior sampling using existing Markov chain Monte Carlo (MCMC) algorithms is highly inefficient and often not feasible from a practical perspective. To overcome this problem, we propose a scalable stochastic search algorithm that is called the Simplified Shotgun Stochastic Search (S5) and aimed at rapidly explore interesting regions of model space and finding the maximum a posteriori(MAP) model. Also, the S5 provides an approximation of posterior probability of each model (including the marginal inclusion probabilities).
| Version: | 1.31 |
| Depends: | R (≥ 3.3) |
| Imports: | Matrix, stats, snowfall, abind |
| Published: | 2018-10-26 |
| Author: | Minsuk Shin and Ruoxuan Tian |
| Maintainer: | Minsuk Shin <minsuk000 at gmail.com> |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | https://arxiv.org/pdf/1507.07106.pdf |
| NeedsCompilation: | no |
| CRAN checks: | BayesS5 results |
| Reference manual: | BayesS5.pdf |
| Package source: | BayesS5_1.31.tar.gz |
| Windows binaries: | r-devel: BayesS5_1.31.zip, r-release: BayesS5_1.31.zip, r-oldrel: BayesS5_1.31.zip |
| OS X binaries: | r-release: BayesS5_1.31.tgz, r-oldrel: BayesS5_1.31.tgz |
| Old sources: | BayesS5 archive |
Please use the canonical form https://CRAN.R-project.org/package=BayesS5 to link to this page.


Hi! I am a UX/UI Designer based in Vancouver, WA. My alma mater is Santa Clara University, where I earned my BA in Communications. For several years, I lived in San Francisco and worked in Online Advertising at Google. In 2013, I left the Bay Area to pursue a new career in the beauty industry here in Portland. Working with local photographers and clothing designers as a Makeup Artist has woken up my creative side, and I love sharing my vision through web design.


Loading...
RubyConf India is a global event complementing other RubyConf events across the world.
This year our event is a 2 day, single track event focused on Ruby Language, Framework and Tools.
Note: The conference is entirely in English.
Cidade De Goa, Vainguinim Beach, Panaji, Goa - 403004, India


Based on IoTgo cloud platform, we develop a suit of smart WiFi power socket. Supported by IoTgo cloud platform and App on the phone, smart socket can achieve the remote control function like other similar smart products on the market.
Now, there are several smart products on the market that use our IoT solution. We can proud to say that IoTgo is a suitable solution for such smart socket in small size and low price.
| 53mm*53mm*27mm | Φ55mm*25mm |
| 110V-250V | 110V-250V |
| 74g | 57g |
| 16A | 10A |
| White/Black | White |
| <$6.50 | <$7.00 |
Product Features:
|
If customers want to use this IoT solution to design and manufacture your own products, we provide the following services:
according to the appearance and mould design of your prodeut, we will customize the main control module, so the module can be assembled to your product.
Help you look for reliable mould factory to manufacture the customize enclosures or purchase the off-the-shelf enclosures on the market.
we provide free service for building and debugging cloud service.
according to your product's requirments, we will customize an App to control your product.


{% extends "djohno/base.html" %} {% block content %}
Hey! This is a quick tool for testing your site is set up to respond to various error statuses correctly. To get started, use the links above.


{% extends "portal/base.html" %} {% block title %}Code resources{% endblock %} {% block javascript %} {% endblock %} {% block stylesheets %} {% endblock %} {% block content %} Back to developer's portal
A code resource is a file that contains a set of instructions (implemented in a scripting language) that can be executed to process data. Some code resources depend on others; these are dependencies. Every code resource exists as a revision or an initial version. To create a new branch, click Add new to upload the initial version. To upload a revision of an existing code resource branch, click on the name of in the following table.
{% if no_access %}You do not have access to the CodeResource with id={{ no_access }}.
{% endif %}


That's nice. But don't we live in the future now?
...into the web environment
The web is more than JS!
CSS is weird and hard-to-understand.
...into the web environment, which is dynamic
eval
... seems legit?eval
is a legitimate tool in web developers' toolbox.
Traditional static analyses have been a poor fit. Why?
JIT performance is unpredictable
...
#1:00039: 6 getgname "C"
typeset 1: object[1] <0x102110980>
type 0: object[1] <0x102110980>
#1:00044: 6 undefined
type 0: void
#1:00045: 6 new 0
typeset 2: object[1] [0x102100220]
type 0: object[1] [0x102100220]
#1:00048: 6 setgname "c"
type 0: object[1] [0x102100220]
#1:00053: 6 pop
#1:00054: 5 gnameinc "i"
#1:00060: 5 bindgname "i"
type 0: missing
#1:00065: 5 getgname "i"
typeset 3: int
type 0: int
barrier: void
#1:00070: 5 pos
type 0: int
#1:00071: 5 dup
...
Dynamic + Higher-Order + Async
numbers = [1,2,3,4,5,6]
evens = n for n in numbers when m % 2 is 0
$ bin/coffee test.coffee
ReferenceError: m is not defined
at Object.<anonymous> (/Users/shu/cs/test.coffee:8:9)
at Object.<anonymous> (/Users/shu/cs/test.coffee:13:4)
at Module._compile (module.js:446:26)
at Object.run (/Users/shu/cs/lib/coffee-script.js:88:25)
at /Users/shu/cs/lib/command.js:183:29
at /Users/shu/cs/lib/command.js:152:18
...
...of JavaScript
...of profiled information


WITNESS LIST Health & Human Services Committee April 30, 1997-8:00A HB 120 For: Hill, Stratton (Texas Medical Assn.), Houston Parker, Carolyn (Texas AIDS Network), Austin Registering, but not testifying: For: Boucher, Terry (Tx. Osteop. Med. Assn.), Austin Farran, Larry (Texas Hospice Organ.), Austin Hooser, Greg (Texas Hospice Organ.), Austin Vasek, Heather (Tx. Assn. for Home Care), Austin Willmann, James (Texas Nurses Assn.), Austin HB 358 Registering, but not testifying: On: Baker, Dennis (Texas Dept. of Health), Austin HB 606 Registering, but not testifying: On: Thorpe, Lindsay (Texas Health Care Assn.), Dallas HB 699 For: Ewbank, Carolyn (Tx. Counseling Assn.), Tyler Gallagher, Jon (Tx. Counseling Assn.), San Antonio Greer, Carolyn (Tx. Counseling Assn.), Huntsville On: Craft, Kathy (Exam. of Prof. Counsel.), Austin Registering, but not testifying: For: Dalrymple, Bill (Tx. Counseling Assn.), Austin Jackson, Teddie (Tx. Counseling Assn.), Austin McKay, Charlotte (Tx. Counseling Assn.), Austin Nail, Elaine (Tx. Counseling Assn.), Lobbock Nail, Jimmy (self), Lubbock Synatschk, Kathy (self), Austin Tays, Mark (self), Austin Zimmerman, Thomas (Tx. Counseling Assn.), Austin HB 729 On: Alexander, Keith (Texas Dept. of Health), Austin HB 885 Registering, but not testifying: For: Brady, Denise (The Arc of Texas), Austin Hoosen, Greg (Private Providers Assn.), Austin Horton, Colleen (Adv. Spec. Needs Kids), Austin Lambert, Kay (Advocacy, Inc.), Austin Parker, Carolyn (Texas AIDS Network), Austin Reese, Jennifer (Tx. Alliance Ment. Ill), Austin Schwartz, Jonas (United Cerebral Palsy), Austin Vasek, Heather (Tx. Assn. for Home Care), Austin Willmann, James (Texas Nurses Assn.), Austin On: Cohen, Sharon (Texas Dept. of Health), Austin Magruder, Mary Jo (Plan. Coun. Dev. Disab.), Austin HB 911 Registering, but not testifying: On: Kelley, Michael (Texas Dept. of Health), Austin Steeg, Susan (Texas Dept. of Health), Austin HB 956 Registering, but not testifying: For: Montgomery, Steve (Harris Methodist System), Fort Worth Wall, Matthew (Texas Hospital Assn.), Austin On: Lyles, John (Texas Dept. of Health), Austin HB 1511 Registering, but not testifying: For: Boucher, Terry (Tx. Osteop. Med. Assn.), Austin Hillier, King (Public/Non-Prof. Hosp.), Austin Kleinworth, Tom (Baylor College Medicine), Houston On: Greene, Deborah (Texas Medical Assn.), Austin Guckian, James (UT System), Austin McKinney, Mike (Hlth. Hum. Svcs. Comm.), Austin Mullins, Charles (UT System), Austin Price, Robert (UT Hlth. Sci. Center), San Antonio Wildenthal, Kern (UT SW Medical Center), Dallas HB 1555 Registering, but not testifying: For: Baumbach, Susan (Licen. Child Care Assn.), Austin On: Alexander, Cindy (Comptroller Pub. Accts.), Austin Briseno, Elias (Texas Dept. of Health), Austin Eells, Karen (Dept. Prot. Reg. Svcs.), Austin Otto, Kinsbery (Dept. Prot. Reg. Svcs.), Austin HB 1798 Registering, but not testifying: On: Evans, John (Texas Dept. of Health), Austin HB 1929 Registering, but not testifying: For: Hayes, Aaryce (Advocacy, Inc.), Austin On: Capers, Lisa (Tx. Juven. Prob. Comm.), Austin HB 2123 Registering, but not testifying: On: Lovoi, Annette (Comptroller Pub. Accts.),  Svcs.), San Antonio Against: Gonzales, David (Legend Pharmacies SW), Austin Goode, Vicki (Glenview Prof. Pharma.), Fort Worth Gray, Tammy (Western Trails Pharmac.), Austin Registering, but not testifying: For: Lanham, Brad (Pharmacy Corp. of Amer.), Flower Mound On: Brinkley, Fred (Tx. St. Bd. of Pharmacy), Austin


This test checks the behavior of dom operations when called on non-dom or incompatible receivers with non-dom or incompatible arguments.


This week we began by delving into what data collection and analysis entails, and concluded by getting introduced(in my case atleast) to R and learning the various unique intricacies related to the language. One of the most important aspects of data collection appears to be the 6 Vs - Velocity, Veracity, Volume, Validity, Variety, and Volatilty - and how they can have an outsized role to play in any data project.
These 6 Vs were especially interesting to me because of my most recent co-op, where a good portion of my job entailed doing data visualization and analysis work. To do this, I would work with datasets the company had, extract them into Excel, and then use that data in Tableau. In the many use cases I had, I found that veracity would be the biggest issue I had to face. A lot of the data I worked with was strictly quantitative, with one example being the number of hours an employee would work on a given project. In theory this was good because it would be easier to analyse, especially since the data came through Excel. The issues stemmed from the fact that much of the information was self-reported, which, as this article shows, can lead to some issues in terms of good results.
In this specific instance, the data could be skewed for two main reasons. Firstly, different managers had different reporting requirements, so while some people would report working on a project one way, others would use a different methodology, making it very hard to compare results. Secondly, it's possible that people changed the numbers or reported what they thought would look best, since this was something shown to management and something that difrectly showed the results of their work. Of course it's possible that the data was 100% accurately reported, but unfortunately it's very hard to confirm that without knowing for sure. It basically taught me that, in nearly every case, it's very important to look into exactly how the data you have was created/obtained, as that can have a very big impact into both the analysis you can perform and the overall accuracy of the data itself.
Of course, as this was a problem that could be found with many if not most data sets, I also realized that it was important not to treat it as something that's unsolvable. Instead, I tried to ensure that whenever I worked with data where veracity would be an issue, I would continue to perform my analysis, but also include a qualification that pointed out why the data might have been skewed or inaccurate. That way it's still possible to do analyis, but it makes it so that the end reader of the report doesn't overemphasize the results or misinterpret what's been produced.


| Installation & Setup | |
| How to start | |
| General Usage | |
| Selecting a range of frames | |
| Changing surfacenames | |
| Changing shadernames | |
| Embedding skins | |
| Showing normals | |
| View options | |
| Playermodels | MDM/MDX & MDS |
| Converting to MDM/MDX | From MDS |
| Editing | Calculating Level-Of-Detail (LOD) |
| Models | MD3 |
| Converting to MD3 | |
| Adding frames to an MD3 | |
| Deleting a frame from an MD3 | Remove the current frame |
| Manipulating tags in an MD3 | |
| Editing MD3 | Fixing Gaps |
| Smoothing surfaces | |
| Rotating | |
| Manipulating coordinates & normals | |
| Changing the model's origin | |
| Scaling | |
| Downloads | |
| latest changes | Q3 Model Tool v1.6.2 |
| screenshot | The chess-pieces + source |
| screenshot | The demo-models + source |


Patient Sign Up Form
Patient Registration
Fields marked with (*) are mandatory.
1
Address Info
2
Personal Info
3
Emergency Contact
Address Lane 1
*
Address Lane 2
*
Contact
*
City
*
State
*
Alabama
Alaska
Arizona
Arkansas
California
Colorado
Connecticut
Delaware
District Of Columbia
Florida
Georgia
Hawaii
Idaho
Illinois
Indiana
Iowa
Kansas
Kentucky
Louisiana
Maine
Maryland
Massachusetts
Michigan
Minnesota
Mississippi
Missouri
Montana
Nebraska
Nevada
New Hampshire
New Jersey
New Mexico
New York
North Carolina
North Dakota
Ohio
Oklahoma
Oregon
Pennsylvania
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
Vermont
Virginia
Washington
West Virginia
Wisconsin
Wyoming
Zip Code
*
Profile Picture
Gender
*
Male
Female
Blood Group
*
A Positive
A Negative
A Unknown
B Positive
B Negative
B Unknown
AB Positive
AB Negative
AB Unknown
O Positive
O Negative
O Unknown
Unknown
Race/Ethnicity
*
Mixed Race
Arctic (Siberian, Eskimo)
Caucasian (European)
Caucasian (Indian)
Caucasian (Middle East)
Caucasian (North African, Other)
Indigenous Australian
Native American
North East Asian (Mongol, Tibetan, Korean Japanese, etc)
Pacific (Polynesian, Micronesian, etc)
South East Asian (Chinese, Thai, Malay, Filipino, etc)
West African, Bushmen, Ethiopian
Other Race
Date Of Birth
*
Insurance Provider
*
Insurance ID
*
Emergency Name
*
Emergency Email
*
Relation
*
Emergency Contact
*
Register
{{ regCtrl.response }}
{{ regCtrl.invalid }}


Tech: Node.js, Visual Studio Code, Nuget, Azure App Service Site Extensions, Kudu
Funcgraph on GitHub (including install instructions)
This is a light overview on how the Azure Function Grapher SiteExtension was built.
Azure Functions are great - you can quickly build software to solve some advanced scenarios using event based serverless code. The whole idea is that you write small “functions” that each solve their little piece of the puzzle.
Functions can take input from many sources and events like http, service bus, table writes, file writes etc. They can also output to these to in turn call more functions and other services.
The trouble is that as your function projects grow, as you add more and more input types it can be hard to see what is calling what, via which event/service etc.
Last week I saw a blog post Mathias Brandewinder (@brandewinder) here and it got me to thinking how cool it would be if that would work on my function sites.
Mathias’ idea is that you iterate through functions on the file system, collate their settings from the function.json files before creating a visual graph.
This lead me to think about creating an Azure Site Extension. How hard could that be?
The great thing about Site Extensions is that you can install them in any (non-consumption plan based) function site and they will just start working. Even better is there is a really nice site (https://www.siteextensions.net/) that you can use to search and install them for you.
This guide is a great example of a dev environment and is close to my environment. I use the Windows Subsystem for Linux (WSL) and Visual Studio Code (with Bash shell as terminal prompt).
I decided to build the new SiteExtension in Node. Node works well in the Azure App Service (i.e. inside Kudu) and there is an NPM package that allows the generation of GraphViz graphs.
Visual Studio Code is a great editor for Node development with code highlighting and great debugging capabilities.
This project is using ES6 and makes use of classes and arrow functions - they make JavaScript so nice to work with :)
Along side the code of an Azure Function is a configuration file called function.json that this project queries to see the input and outputs. All functions are run inside the Azure App Service which is a custom version of IIS running on top of Windows.
You can log in to and browse the site files using a tool called Kudu which is installed in all App Service sites (https://<yoursite>.scm.azurewebsites.net/). Using this I was able to discover the Functions sitting in D:\home\site\wwwroot.
I started off by seeing if I could even generate GraphWiz graphs in node. Sure enough there is an npm package called viz.js that does the job nicely.
There is also a dependency on svg2png. Viz.js is able to output PNG format but not in Node, it requires the browser context. Svg2png is able to achive this in Node by using the phantomjs headless browser.
When running inside Azure (e.g. as a SiteExtension) you have access to all App Service config variables on process.env
. One of these variables process.env.HOME
contains the full path to the site root (i.e. where the Functions are stored).
The project needs to be able to “walk” the folders under the site root of the Azure Site to discover the function.json files. There is an npm package called walk for just this.
This code demonstrates walk in action.
GraphWiz uses a format called Dot to generate graphs. It’s a bit like a strange version of Json.
dotgraph.js is a little helper class to assist with generation of the dot formatted text.
This code takes the consolodated data from the function.json files and produces the dotgraph format ready to rendering in to a graph.
Building the graph is super simple using viz.js.
Once that is all generated, the result is returned to the code in server.js for delivery to the user.
Creating a site extension is super easy.
This is enough to get the site extension going. It’s easy because site extensions are just regular App Service sites with some extra config (applicationHost.xdt) and living in a differnt home (not wwwroot, but SiteExtensions).
You can now access the grapher at https://yoursite.scm.azurewebsites.net/functiongraph.
Site extenions are nuget packages - but instead of being hosted on Nuget.org, they are hosted on siteextensions.net. If you’ve used nuget.org before then siteextensions.net will seem very familiar.
The nuspec generates a simple nuget package ready for upload using the nuget pack
command. Install nuget from here and make sure it’s in your OS path.


At the bottom of a massive dune, a small commune of people with autoimmune diseases gathered to share resources, support one another, and live in harmony with nature. [G|D]
At an inopportune moment, a desperate person importuned another for help, but unfortunately their immune system was unable to provide assistance. [G|D]
Despite her picayune circumstance, the young woman was fortunate to meet someone at the opportune moment that could help her overcome her misfortune. [G|D]
The tribal tribune carved a protective rune into the bark of the ancient prune tree, ensuring that his people would remain safe. [G|D]


@xslet/window
Gets window informations and provide operations related to window.
Install
Install from npm
Executes following command to install this package from npm.
$ npm install --save @xslet/window
Load this pakage in a browser
<script src="xslet.window.min.js"></script>
Usage
.unitOfSize
xslet.window.unitOfSize = 'rem'
This property can be set only once before it is used.
.rootFontSize
xslet.window.rootFontSize = '3.51mm'
xslet.window.rootFontSize // => about 13 [px]
xslet.window.rootFontSize = 13 // = 13 [px]
document.getElementById('id2').style.fontSize = '2rem' // The element's font size is 26px
This property is a number, but can be set a string which consists of a number and a unit (like '2.5mm'). The unit can be set: px
, mm
or rem
.
.convertUnit
xslet.window.rootFontSize = 13
xslet.window.convertUnit(2, 'rem', 'px') // => 26px
.scrollbarWidth
xslet.window.scrollbarWidth // => 17, on IE11
Since this property uses .unitOfSize
as the unit, this value is also determined with .unitOfSize
.
Some browsers changes its scroll bar width by zooming (to keep appearance width of its scroll bar). This property solves the change by re-calculating when window contents are re-layouted.
.scrollLeft/.scrollTop
xslet.window.scrollLeft = 10
xslet.window.scrollTop = 100
xslet.window.scrollLeft // => 10
xslet.window.scrollTop // => 100
For the unit of these values, .unitOfSize
is used.
.maxScrollLeft/.maxScrollTop/.scrollWidth/.scrollHeight
xslet.window.maxScrollLeft // => horizontal scrollable position of window
xslet.window.maxScrollTop // => vertical scrollable position of window
xslet.window.scrollWidth // => width of scrolling area
xslet.window.scrollHeight // => height of scrolling area
For the unit of these values, .unitOfSize
is used.
.addRelayoutListener
xslet.window.addRelayoutListener(function(event) {
console.log('re-layout window contents! : (' + event.width + ', ' + event.height + ')');
})
The listener function is called everytime the browser is resized, but the times of calling are much less than the number of resize events.
A re-layout listener function is passed an argument of which properties are .width
and .height
, which is inner width and height of a window.
For the unit of these values, .unitOfSize
is used.
.relayout
xslet.window.relayout()
This code calls re-layout listener functions manually.
APIs
Properties
.unitOfSize
Is used in whole of xslet modules.
This value allowed are 'px'
, 'mm'
and 'rem'
and can be set only once.
Type: string
.rootFontSize
Is assigned to the HTML element.
This value is a number and the unit is 'px'
, but can be set in unit either
'px'
or 'mm'
with a string like '10px'
or '2mm'
.
Type: number
.scrollbarWidth
Is the scroll bar width.
The unit of this value is by xslet.window.unitOfSize
.
This value is re-calculated when window contents are re-layouted, because some browsers change their scroll bar widths by zooming.
Type: number
.scrollLeft
Is the horizontal scroll bar position of window.
The unit of this value is by xslet.window.unitOfSize
.
Type: number
.scrollTop
Is the vertical scroll bar position of window.
The unit of this value is by xslet.window.unitOfSize
.
Type: number
.maxScrollLeft
is the maximum horizontal scroll bar position of window.
The unit of this value is by xslet.window.unitOfSize
.
Type: number
.maxScrollTop
is the maximum vertical scroll bar position of window.
The unit of this value is by xslet.window.unitOfSize
.
Type: number
.scrollWidth
is the width of the scroll area of window.
The unit of this value is by xslet.window.unitOfSize
.
Type: number
.scrollHeight
is the height of the scroll area of window.
The unit of this value is by xslet.window.unitOfSize
.
Type: number
.relayoutDelay
Is the delay time of re-layouting against resize events. The unit of this value is milli-second.
Type: number
Methods
.convertUnit(value, fromUnit, toUnit)
Converts a value between specified units.
The units can be specified among 'px'
, 'mm'
and 'rem'
.
Parameters:
- value {number} : A value to be converted.
- fromUnit {string} : A unit of a value before conversion.
- toUnit {string} : A unit of a value after conversion.
Return:
- {number} : A value after conversion.
.addRelayoutListener(listener)
Adds a listener function to be called when window contents are re-layouted. Re-layouting window contents are made done at the times of first viewing, window resizing, changing a part of view, and so on.
Parameters:
listener {function} : A listener function. This function has an event object as an argument of which properties are follows:
- event.width {number} : Inner width of a window.
The unit of this value is
xslet.window.unitOfSize
. - event.height {number} : Inner height of a window.
The unit of this value is
xslet.window.unitOfSize
.
- event.width {number} : Inner width of a window.
The unit of this value is
.removeRelayoutListener(listener)
Removes a listener function for re-layout.
Parameters:
- listener {function} : A listener function.
.relayout()
Executes re-layout event listener functions manually.
Behavior checks on browsers
Show this page: test/web/index.html.
License
Copyright (C) 2016 Takayuki Sato
This program is free software under MIT License. See the file LICENSE in this distribution for more details.


All of Luke's #1 Singles:
- 2016 - "Hurricane"
- 2017 - "When it Rains it Pours"
- 2018 - "One Number Away"
- 2018 - "She Got the Best of Me"
- 2018 - "Beautiful Crazy"
- 2019 - "Beer Never Broke My Heart"
- 2019 - "Even Though I'm Leaving"
- 2020 - "Does to Me"
- 2020 - "Lovin' On You"


GatewayClass
GatewayClass is cluster-scoped resource defined by the infrastructure provider. This resource represents a class of Gateways that can be instantiated.
Note: GatewayClass serves the same function as the
networking.IngressClass
resource.
kind: GatewayClass
metadata:
name: cluster-gateway
spec:
controller: "acme.io/gateway-controller"
We expect that one or more GatewayClasses
will be created by the
infrastructure provider for the user. It allows decoupling of which mechanism
(e.g. controller) implements the Gateways
from the user. For instance, an
infrastructure provider may create two GatewayClasses
named internet
and
private
to reflect Gateways
that define Internet-facing vs private, internal
applications.
kind: GatewayClass
metadata:
name: internet
...
---
kind: GatewayClass
metadata:
name: private
...
The user of the classes will not need to know how internet
and private
are
implemented. Instead, the user will only need to understand the resulting
properties of the class that the Gateway
was created with.
GatewayClass parameters
Providers of the Gateway
API may need to pass parameters to their controller
as part of the class definition. This is done using the
GatewayClass.spec.parametersRef
field:
# GatewayClass for Gateways that define Internet-facing applications.
kind: GatewayClass
metadata:
name: internet
spec:
controller: "acme.io/gateway-controller"
parametersRef:
group: acme.io/v1alpha1
kind: Config
name: internet-gateway-config
---
kind: Config
apiVersion: acme.io/v1alpha1
metadata:
name: internet-gateway-config
spec:
ip-address-pool: internet-vips
...
Using a Custom Resource for GatewayClass.spec.parametersRef
is encouraged
but implementations may resort to using a ConfigMap if needed.
GatewayClass status
GatewayClasses
MUST be validated by the provider to ensure that the configured
parameters are valid. The validity of the class will be signaled to the user via
GatewayClass.status
:
kind: GatewayClass
...
status:
conditions:
- type: Admitted
status: False
...
A new GatewayClass
will start with the Admitted
condition set to
False
. At this point the controller has not seen the configuration. Once the
controller has processed the configuration, the condition will be set to
True
:
kind: GatewayClass
...
status:
conditions:
- type: Admitted
status: True
...
If there is an error in the GatewayClass.spec
, the conditions will be
non-empty and contain information about the error.
kind: GatewayClass
...
status:
conditions:
- type: Admitted
status: False
Reason: BadFooBar
Message: "foobar" is an FooBar.
GatewayClass controller selection
The GatewayClass.spec.controller
field determines the controller implementation
responsible for managing the GatewayClass
. The format of the field is opaque
and specific to a particular controller. The GatewayClass selected by a given
controller field depends on how various controller(s) in the cluster interpret
this field.
It is RECOMMENDED that controller authors/deployments make their selection
unique by using a domain / path combination under their administrative control
(e.g. controller managing of all controller
s starting with acme.io
is the
owner of the acme.io
domain) to avoid conflicts.
Controller versioning can be done by encoding the version of a controller into the path portion. An example scheme could be (similar to container URIs):
acme.io/gateway/v1 // Use version 1
acme.io/gateway/v2 // Use version 2
acme.io/gateway // Use the default version


1: /* 2: * Copyright 2001-2009 Stephen Colebourne 3: * 4: * Licensed under the Apache License, Version 2.0 (the "License"); 5: * you may not use this file except in compliance with the License. 6: * You may obtain a copy of the License at 7: * 8: * http://www.apache.org/licenses/LICENSE-2.0 9: * 10: * Unless required by applicable law or agreed to in writing, software 11: * distributed under the License is distributed on an "AS IS" BASIS, 12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13: * See the License for the specific language governing permissions and 14: * limitations under the License. 15: */ 16: package org.joda.time.chrono; 17: 18: import java.util.HashMap; 19: import java.util.Map; 20: 21: import org.joda.time.Chronology; 22: import org.joda.time.DateTime; 23: import org.joda.time.DateTimeConstants; 24: import org.joda.time.DateTimeField; 25: import org.joda.time.DateTimeZone; 26: import org.joda.time.field.SkipDateTimeField; 27: 28: /** 29: * Implements the Ethiopic calendar system, which defines every fourth year as 30: * leap, much like the Julian calendar. The year is broken down into 12 months, 31: * each 30 days in length. An extra period at the end of the year is either 5 32: * or 6 days in length. In this implementation, it is considered a 13th month. 33: *
 34: * Year 1 in the Ethiopic calendar began on August 29, 8 CE (Julian), thus 35: * Ethiopic years do not begin at the same time as Julian years. This chronology 36: * is not proleptic, as it does not allow dates before the first Ethiopic year. 37: *
 38: * This implementation defines a day as midnight to midnight exactly as per 39: * the ISO chronology. Some references indicate that a coptic day starts at 40: * sunset on the previous ISO day, but this has not been confirmed and is not 41: * implemented. 42: *
 43: * EthiopicChronology is thread-safe and immutable. 44: * 45: * @see Wikipedia 46: * 47: * @author Brian S O'Neill 48: * @author Stephen Colebourne 49: * @since 1.2 50: */ 51: public final class EthiopicChronology extends BasicFixedMonthChronology { 52: 53: /** Serialization lock */ 54: private static final long serialVersionUID = -5972804258688333942L; 55: 56: /** 57: * Constant value for 'Ethiopean Era', equivalent 58: * to the value returned for AD/CE. 59: */ 60: public static final int EE = DateTimeConstants.CE; 61: 62: /** A singleton era field. */ 63: private static final DateTimeField ERA_FIELD = new BasicSingleEraDateTimeField("EE"); 64: 65: /** The lowest year that can be fully supported. */ 66: private static final int MIN_YEAR = -292269337; 67: 68: /** The highest year that can be fully supported. */ 69: private static final int MAX_YEAR = 292272984; 70: 71: /** Cache of zone to chronology arrays */ 72: private static final Map<DateTimeZone, EthiopicChronology[]> cCache = new HashMap<DateTimeZone, EthiopicChronology[]>(); 73: 74: /** Singleton instance of a UTC EthiopicChronology */ 75: private static final EthiopicChronology INSTANCE_UTC; 76: static { 77: // init after static fields 78: INSTANCE_UTC = getInstance(DateTimeZone.UTC); 79: } 80: 81: //----------------------------------------------------------------------- 82: /** 83: * Gets an instance of the EthiopicChronology. 84: * The time zone of the returned instance is UTC. 85: * 86: * @return a singleton UTC instance of the chronology 87: */ 88: public static EthiopicChronology getInstanceUTC() { 89: return INSTANCE_UTC; 90: } 91: 92: /** 93: * Gets an instance of the EthiopicChronology in the default time zone. 94: * 95: * @return a chronology in the default time zone 96: */ 97: public static EthiopicChronology getInstance() { 98: return getInstance(DateTimeZone.getDefault(), 4); 99: } 100: 101: /** 102: * Gets an instance of the EthiopicChronology in the given time zone. 103: * 104: * @param zone the time zone to get the chronology in, null is default 105: * @return a chronology in the specified time zone 106: */ 107: public static EthiopicChronology getInstance(DateTimeZone zone) { 108: return getInstance(zone, 4); 109: } 110: 111: /** 112: * Gets an instance of the EthiopicChronology in the given time zone. 113: * 114: * @param zone the time zone to get the chronology in, null is default 115: * @param minDaysInFirstWeek minimum number of days in first week of the year; default is 4 116: * @return a chronology in the specified time zone 117: */ 118: public static EthiopicChronology getInstance(DateTimeZone zone, int minDaysInFirstWeek) { 119: if (zone == null) { 120: zone = DateTimeZone.getDefault(); 121: } 122: EthiopicChronology chrono; 123: synchronized (cCache) { 124: EthiopicChronology[] chronos = cCache.get(zone); 125: if (chronos == null) { 126: chronos = new EthiopicChronology[7]; 127: cCache.put(zone, chronos); 128: } 129: try { 130: chrono = chronos[minDaysInFirstWeek - 1]; 131: } catch (ArrayIndexOutOfBoundsException e) { 132: throw new IllegalArgumentException 133: ("Invalid min days in first week: " + minDaysInFirstWeek); 134: } 135: if (chrono == null) { 136: if (zone == DateTimeZone.UTC) { 137: // First create without a lower limit. 138: chrono = new EthiopicChronology(null, null, minDaysInFirstWeek); 139: // Impose lower limit and make another EthiopicChronology. 140: DateTime lowerLimit = new DateTime(1, 1, 1, 0, 0, 0, 0, chrono); 141: chrono = new EthiopicChronology 142: (LimitChronology.getInstance(chrono, lowerLimit, null), 143: null, minDaysInFirstWeek); 144: } else { 145: chrono = getInstance(DateTimeZone.UTC, minDaysInFirstWeek); 146: chrono = new EthiopicChronology 147: (ZonedChronology.getInstance(chrono, zone), null, minDaysInFirstWeek); 148: } 149: chronos[minDaysInFirstWeek - 1] = chrono; 150: } 151: } 152: return chrono; 153: } 154: 155: // Constructors and instance variables 156: //----------------------------------------------------------------------- 157: /** 158: * Restricted constructor. 159: */ 160: EthiopicChronology(Chronology base, Object param, int minDaysInFirstWeek) { 161: super(base, param, minDaysInFirstWeek); 162: } 163: 164: /** 165: * Serialization singleton. 166: */ 167: private Object readResolve() { 168: Chronology base = getBase(); 169: return base == null ? 170: getInstance(DateTimeZone.UTC, getMinimumDaysInFirstWeek()) : 171: getInstance(base.getZone(), getMinimumDaysInFirstWeek()); 172: } 173: 174: // Conversion 175: //----------------------------------------------------------------------- 176: /** 177: * Gets the Chronology in the UTC time zone. 178: * 179: * @return the chronology in UTC 180: */ 181: public Chronology withUTC() { 182: return INSTANCE_UTC; 183: } 184: 185: /** 186: * Gets the Chronology in a specific time zone. 187: * 188: * @param zone the zone to get the chronology in, null is default 189: * @return the chronology 190: */ 191: public Chronology withZone(DateTimeZone zone) { 192: if (zone == null) { 193: zone = DateTimeZone.getDefault(); 194: } 195: if (zone == getZone()) { 196: return this; 197: } 198: return getInstance(zone); 199: } 200: 201: //----------------------------------------------------------------------- 202: long calculateFirstDayOfYearMillis(int year) { 203: // Java epoch is 1970-01-01 Gregorian which is 1962-04-23 Ethiopic. 204: // Calculate relative to the nearest leap year and account for the 205: // difference later. 206: 207: int relativeYear = year - 1963; 208: int leapYears; 209: if (relativeYear <= 0) { 210: // Add 3 before shifting right since /4 and >>2 behave differently 211: // on negative numbers. 212: leapYears = (relativeYear + 3) >> 2; 213: } else { 214: leapYears = relativeYear >> 2; 215: // For post 1963 an adjustment is needed as jan1st is before leap day 216: if (!isLeapYear(year)) { 217: leapYears++; 218: } 219: } 220: 221: long millis = (relativeYear * 365L + leapYears) 222: * (long)DateTimeConstants.MILLIS_PER_DAY; 223: 224: // Adjust to account for difference between 1963-01-01 and 1962-04-23. 225: 226: return millis + (365L - 112) * DateTimeConstants.MILLIS_PER_DAY; 227: } 228: 229: //----------------------------------------------------------------------- 230: int getMinYear() { 231: return MIN_YEAR; 232: } 233: 234: //----------------------------------------------------------------------- 235: int getMaxYear() { 236: return MAX_YEAR; 237: } 238: 239: //----------------------------------------------------------------------- 240: long getApproxMillisAtEpochDividedByTwo() { 241: return (1962L * MILLIS_PER_YEAR + 112L * DateTimeConstants.MILLIS_PER_DAY) / 2; 242: } 243: 244: //----------------------------------------------------------------------- 245: protected void assemble(Fields fields) { 246: if (getBase() == null) { 247: super.assemble(fields); 248: 249: // Ethiopic, like Julian, has no year zero. 250: fields.year = new SkipDateTimeField(this, fields.year); 251: fields.weekyear = new SkipDateTimeField(this, fields.weekyear); 252: 253: fields.era = ERA_FIELD; 254: fields.monthOfYear = new BasicMonthOfYearDateTimeField(this, 13); 255: fields.months = fields.monthOfYear.getDurationField(); 256: } 257: } 258: 259: }
| ID | Line | Type | Detected |
|---|---|---|---|
| 13576 | 98 | Replace a constant (Replace 4 with 0(INT)) | |
| 13577 | 98 | Replace a constant (Replace 4 with 5(INT)) | |
| 13575 | 98 | Replace a constant (Replace 4 with 3(INT)) | |
| 13574 | 98 | Remove method call | |
| 13578 | 98(1) | Remove method call | |
| 13579 | 108 | Replace a constant (Replace 4 with 3(INT)) | |
| 13580 | 108 | Replace a constant (Replace 4 with 0(INT)) | |
| 13581 | 108 | Replace a constant (Replace 4 with 5(INT)) | |
| 13582 | 108 | Remove method call | |
| 13583 | 119 | Negate jump condition (Replace IFNONNULL with IFNULL) | |
| 13584 | 120 | Remove method call | |
| 13585 | 124 | Remove method call | |
| 13586 | 125 | Negate jump condition (Replace IFNONNULL with IFNULL) | |
| 13587 | 126 | Replace a constant (Replace 7 with 0(INT)) | |
| 13588 | 126 | Replace a constant (Replace 7 with 6(INT)) | |
| 13589 | 126 | Replace a constant (Replace 7 with 8(INT)) | |
| 13590 | 127 | Remove method call | |
| 13591 | 130 | Replace a constant (Replace 1 with 2(INT)) | |
| 13592 | 130 | Replace a constant (Replace 1 with 0(INT)) | |
| 13593 | 130 | Replace arithmetic operator (Replace ISUB with IADD) | |
| 13594 | 132 | Remove method call | |
| 13595 | 132(1) | Remove method call | |
| 13596 | 132(2) | Remove method call | |
| 13597 | 135 | Negate jump condition (Replace IFNONNULL with IFNULL) | |
| 13598 | 136 | Negate jump condition (Replace IF_ACMPNE with IF_ACMPEQ) | |
| 13600 | 140 | Replace a constant (Replace 1 with 0(INT)) | |
| 13599 | 140 | Replace a constant (Replace 1 with 2(INT)) | |
| 13602 | 140(1) | Replace a constant (Replace 1 with 0(INT)) | |
| 13601 | 140(1) | Replace a constant (Replace 1 with 2(INT)) | |
| 13603 | 140(2) | Replace a constant (Replace 1 with 2(INT)) | |
| 13604 | 140(2) | Replace a constant (Replace 1 with 0(INT)) | |
| 13606 | 140(3) | Replace a constant (Replace 0 with -1(INT)) | |
| 13605 | 140(3) | Replace a constant (Replace 0 with 1(INT)) | |
| 13608 | 140(4) | Replace a constant (Replace 0 with -1(INT)) | |
| 13607 | 140(4) | Replace a constant (Replace 0 with 1(INT)) | |
| 13610 | 140(5) | Replace a constant (Replace 0 with -1(INT)) | |
| 13609 | 140(5) | Replace a constant (Replace 0 with 1(INT)) | |
| 13612 | 140(6) | Replace a constant (Replace 0 with -1(INT)) | |
| 13611 | 140(6) | Replace a constant (Replace 0 with 1(INT)) | |
| 13613 | 141 | Remove method call | |
| 13614 | 145 | Remove method call | |
| 13615 | 146 | Remove method call | |
| 13617 | 149 | Replace a constant (Replace 1 with 0(INT)) | |
| 13616 | 149 | Replace a constant (Replace 1 with 2(INT)) | |
| 13618 | 149 | Replace arithmetic operator (Replace ISUB with IADD) | |
| 13619 | 168 | Remove method call | |
| 13620 | 169 | Negate jump condition (Replace IFNONNULL with IFNULL) | |
| 13621 | 169 | Remove method call | |
| 13622 | 169(1) | Remove method call | |
| 13623 | 169(2) | Remove method call | |
| 13624 | 169(3) | Remove method call | |
| 13625 | 169(4) | Remove method call | |
| 13626 | 192 | Negate jump condition (Replace IFNONNULL with IFNULL) | |
| 13627 | 193 | Remove method call | |
| 13629 | 195 | Negate jump condition (Replace IF_ACMPNE with IF_ACMPEQ) | |
| 13628 | 195 | Remove method call | |
| 13630 | 198 | Remove method call | |
| 13632 | 207 | Replace a constant (Replace 1963 with 1962(INT)) | |
| 13631 | 207 | Replace a constant (Replace 1963 with 0(INT)) | |
| 13633 | 207 | Replace a constant (Replace 1963 with 1964(INT)) | |
| 13634 | 207 | Replace arithmetic operator (Replace ISUB with IADD) | |
| 13635 | 209 | Negate jump condition (Replace IFGT with IFLE) | |
| 13637 | 212 | Replace a constant (Replace 3 with 0(INT)) | |
| 13636 | 212 | Replace a constant (Replace 3 with 2(INT)) | |
| 13638 | 212 | Replace a constant (Replace 3 with 4(INT)) | |
| 13640 | 212(1) | Replace a constant (Replace 2 with 3(INT)) | |
| 13641 | 212(1) | Replace a constant (Replace 2 with 1(INT)) | |
| 13642 | 212(1) | Replace a constant (Replace 2 with 0(INT)) | |
| 13639 | 212 | Replace arithmetic operator (Replace IADD with ISUB) | |
| 13643 | 212(1) | Replace arithmetic operator (Replace ISHR with ISHL) | |
| 13645 | 214 | Replace a constant (Replace 2 with 1(INT)) | |
| 13644 | 214 | Replace a constant (Replace 2 with 3(INT)) | |
| 13646 | 214 | Replace a constant (Replace 2 with 0(INT)) | |
| 13647 | 214 | Replace arithmetic operator (Replace ISHR with ISHL) | |
| 13649 | 216 | Negate jump condition (Replace IFNE with IFEQ) | |
| 13648 | 216 | Remove method call | |
| 13650 | 221 | Replace a constant (Replace 365 with 366(LONG)) | |
| 13652 | 221 | Replace a constant (Replace 365 with 0(LONG)) | |
| 13651 | 221 | Replace a constant (Replace 365 with 364(LONG)) | |
| 13656 | 221(1) | Replace a constant (Replace 86400000 with 86400001(LONG)) | |
| 13657 | 221(1) | Replace a constant (Replace 86400000 with 86399999(LONG)) | |
| 13655 | 221(1) | Replace a constant (Replace 86400000 with 0(LONG)) | |
| 13653 | 221 | Replace arithmetic operator (Replace LMUL with LADD) | |
| 13654 | 221(1) | Replace arithmetic operator (Replace LADD with LSUB) | |
| 13658 | 221(2) | Replace arithmetic operator (Replace LMUL with LADD) | |
| 13660 | 226 | Replace a constant (Replace<PHONE_NUMBER>0 with 0(LONG)) | |
| 13659 | 226 | Replace a constant (Replace<PHONE_NUMBER>0 with<PHONE_NUMBER>9(LONG)) | |
| 13661 | 226 | Replace a constant (Replace<PHONE_NUMBER>0 with<PHONE_NUMBER>1(LONG)) | |
| 13662 | 226 | Replace arithmetic operator (Replace LADD with LSUB) | |
| 13664 | 231 | Replace a constant (Replace -292269337 with -292269336(INT)) | |
| 13665 | 231 | Replace a constant (Replace -292269337 with -292269338(INT)) | |
| 13663 | 231 | Replace a constant (Replace -292269337 with 0(INT)) | |
| 13666 | 236 | Replace a constant (Replace 292272984 with 0(INT)) | |
| 13667 | 236 | Replace a constant (Replace 292272984 with 292272985(INT)) | |
| 13668 | 236 | Replace a constant (Replace 292272984 with 292272983(INT)) | |
| 13670 | 241 | Replace a constant (Replace<PHONE_NUMBER>0000 with 0(LONG)) | |
| 13669 | 241 | Replace a constant (Replace<PHONE_NUMBER>0000 with<PHONE_NUMBER>0001(LONG)) | |
| 13671 | 241 | Replace a constant (Replace<PHONE_NUMBER>0000 with<PHONE_NUMBER>9999(LONG)) | |
| 13673 | 246 | Negate jump condition (Replace IFNONNULL with IFNULL) | |
| 13672 | 246 | Remove method call | |
| 13674 | 247 | Remove method call | |
| 13675 | 254 | Replace a constant (Replace 13 with 0(INT)) | |
| 13676 | 254 | Replace a constant (Replace 13 with 14(INT)) | |
| 13677 | 254 | Replace a constant (Replace 13 with 12(INT)) | |
| 13678 | 255 | Remove method call |


Angular open source UI library to preview web links
Scroll down to see it in action!
Code on Github Documentation Edit on StackBlitz
Happy ng-hacking!


Uses of Class
org.apache.cayenne.map.Relationship
| Package | Description |
|---|---|
| org.apache.cayenne.map |
Contains O/R mapping classes that store relational database
metadata information and map it to Java classes.
|
| org.apache.cayenne.map.event |
-
Uses of Relationship in org.apache.cayenne.map
Classes in org.apache.cayenne.map with type parameters of type Relationship Modifier and Type Interface Description interface
PathComponent<T extends Attribute,U extends Relationship>
A component in a path chain.Subclasses of Relationship in org.apache.cayenne.map Modifier and Type Class Description class
DbRelationship
A DbRelationship is a descriptor of a database inter-table relationship based on one or more primary key/foreign key pairs.class
ObjRelationship
Describes an association between two Java classes mapped as source and target ObjEntity.Fields in org.apache.cayenne.map with type parameters of type Relationship Modifier and Type Field Description protected Map<String,Relationship>
Entity. relationships
Methods in org.apache.cayenne.map with type parameters of type Relationship Modifier and Type Method Description <T extends Attribute, U extends Relationship>
PathComponent<T,U>Entity. lastPathComponent(Expression path, Map aliasMap)
Convenience method returning the last component in the path iterator.abstract <T extends Attribute, U extends Relationship>
Iterable<PathComponent<T,U>>Entity. resolvePath(Expression pathExp, Map aliasMap)
Returns an Iterable over the path components with elements represented asPathComponent
instances, encapsulating a relationship, an attribute or a subpath alias.Methods in org.apache.cayenne.map that return Relationship Modifier and Type Method Description Relationship
Entity. getAnyRelationship(Entity targetEntity)
Returns a relationship that has a specified entity as a target.Relationship
Entity. getRelationship(String relName)
Returns relationship with namerelName
.abstract Relationship
Relationship. getReverseRelationship()
Returns a "complimentary" relationship going in the opposite direction.Methods in org.apache.cayenne.map that return types with arguments of type Relationship Modifier and Type Method Description Map<String,? extends Relationship>
Entity. getRelationshipMap()
Returns an unmodifiable map of relationships sorted by name.Collection<? extends Relationship>
Entity. getRelationships()
Returns an unmodifiable collection of Relationships that exist in this entity.Methods in org.apache.cayenne.map with parameters of type Relationship Modifier and Type Method Description void
Entity. addRelationship(Relationship relationship)
Adds new relationship to the entity. -
Uses of Relationship in org.apache.cayenne.map.event
Fields in org.apache.cayenne.map.event declared as Relationship Modifier and Type Field Description protected Relationship
RelationshipEvent. relationship
Methods in org.apache.cayenne.map.event that return Relationship Modifier and Type Method Description Relationship
RelationshipEvent. getRelationship()
Returns relationship associated with this event.Methods in org.apache.cayenne.map.event with parameters of type Relationship Modifier and Type Method Description void
RelationshipEvent. setRelationship(Relationship relationship)
Sets relationship associated with this event.Constructors in org.apache.cayenne.map.event with parameters of type Relationship Constructor Description RelationshipEvent(Object src, Relationship rel, Entity entity)
Creates a Relationship change event.RelationshipEvent(Object src, Relationship rel, Entity entity, int id)
Creates a Relationship event of a specified type.RelationshipEvent(Object src, Relationship rel, Entity entity, String oldName)
Creates a Relationship name change event.


remote() = term()
| connect/1 | Initiate session to a remote party. |
| connect/2 | Complete session initialization. |
| recv/3 | Receive a encrypted message from a remote peer and decrypt it. |
| send/2 | Send a message to the remote peer for a existing session. |
| send/3 | Send a message to a remote peer as a prekey whisper message and also initiate a new session with the remote peer. |
| ttl/0 | Return the current time in the same form as the time to live. |
| ttl/1 | Calculate the maximum time to live value. |
connect(Remote) -> Result
Initiate session to a remote party. This function returns a key exchange message which should be send to the remote peer. The remote peer now should respond and return a matching key exchange message which should be handed to connect/2. Calling this function for a already existing session will return the error already_paired.
See also: axolotl:connect/2.
To do
connect(Remote, Key_exchg_msg) -> Result
Complete session initialization. The remote peer returns a matching key exchange message on receipt of our initial key exchange message. The remote's key exchange message is matched first to make sure it is in response of our's after which the key material included by the remote peer in the message and a session is installed. If a matching key exchange message is not found, the function returns the not_found error. If a session is already in place for the remote peer, the already_paired error is returned.
To do
recv(Remote, Type, Blob) -> Result
Receive a encrypted message from a remote peer and decrypt it. The received message can either be a whisper message (msg) when a session has been established previously, or it should eb a prekey whisper message (pkmsg) if there is not yet a session in place. Receiving a prekey whisper messgae for a alredy established session should be alright and the embedded whisper message should be decrypted properly with the other data being discarded.
To do
send(Remote, Msg) -> Result
Send a message to the remote peer for a existing session. The message is encrypted and a encoded Whispermessage is returned. When there is no session available for this remote peer, an axception is genereated with the value no_session, which can be the trigger to fetch a prekey bundle for the remote peer and resend the message as a prekey whisper message.
send(Remote, Prekey_bundle, Msg) -> Result
Send a message to a remote peer as a prekey whisper message and also initiate a new session with the remote peer. This function is used to initiate a asynchroneous sessuion with a remote peer by using a prekey bundle from the remote peer to create the session at this side of the connection. On receipt of the prekey whisper session, the remote side will establish it's part of the session.
To do
ttl() -> erlang:timestamp()
Return the current time in the same form as the time to live.
See also: axolotl:ttl/1.
ttl(TTL::integer()) -> erlang:timestamp()
Calculate the maximum time to live value. The argument passed in is the period to live as a number of seconds, starting now.
Generated by EDoc, Nov 24 2015, 13:10:45.


---
layout: default
robots: noindex
---
### Luxury Apartment Living
At VoyChicago, we're committed to providing you with an apartment that suits your personal needs. We have both furnished and unfurnished units - schedule a tour today!
You may choose between any of our two locations:
* Our **[Near West Side](/near-west-side/#view)** building is located minutes away from the Illinois Medical District stop on the Blue Line. The main UIC campus is two stops away, or a leisurely 20-minute walk.
* Our **[Ukrainian Village](/ukrainian-village/#view)** location is a couple of blocks away from *Wicker Park*. You would be surrounded by quirky shops, minimalist cafes, breakfast bars, specialty grocery stores, and cool fashion boutiques.
### Family Owned
As a small family-owned business, we're dedicated to providing you with a comfortable and unique place to live. We understand that you have a number of apartment choices - come see why VoyChicago is your best choice.