{{example1model|json}}
{{example2model|json}}
{{example13model|json}}
{{example14model|json}}
{{example9model|json}}
{{example20model|json}}
{{example21model|json}}
{{searchSelectAllModel|json}}
{{example10model|json}}
{{example12model|json}}
{{example11model|json}}
{{selectByGroupModel|json}}
{{example3model|json}}
{{example4model|json}}
{{example5model|json}}
{{example6model|json}}
{{example7model|json}}
{{example7model|json}}
{{customFilter|json}}
{{example8model|json}}
{{example16model|json}}
{{example17model|json}}
{{example18model|json}}
{{example19model|json}}
{{disabledModel|json}}
List of allowed attributes, you can find more information about them in the usage examples above.
| Attribute Name | Type | Description |
|---|---|---|
| selected-model | Object / Array | The object the will contain the model for the selected items in the dropdown. |
| options | Object / Array | The options for the dropdown. |
| extra-settings | Object | The settings for the directive, more information about these settings are available below. |
| events | Object | Events callbacks, more information below. |
| translation-texts | Object | Gives the ability to modify the default texts in the directive. More information below. |
| group-by | String | The name of the property which you like to group by your options. See grouping example. |
| checkboxes | Boolean | Indicated if to show a normal dropdown with glyphicons or HTML checkboxes. |
| search-filter | String | Uses for settings the search filter from outside the direcrtive. |
| disabled | Boolean | Used for disabling the dropdown. |
Available settings that effects the display or behavior of the directive.
These setting are set with the "extra-settings" attribute.
| Property Name | Type | Default Value | Description |
|---|---|---|---|
| dynamicTitle | Boolean | true | Indicates if the text of the button should change when selecting items from the list. |
| closeOnBlur | Boolean | true | Indicates if the dropdown should close when clicking outside of it's scope. |
| displayProp | String | label | The name of the property that contains the text for the item. |
| idProp | String | id | The name of the property that contains the id for the elements. |
| externalIdProp | String | id | The name of the property that will use for the selected items model. |
| enableSearch | Boolean | false | Indicated if to show the search input or not. |
| searchField | String | "$" | Indicates on which field the search should be done |
| selectionLimit | Number | 0 | The max allowed selected items for the list. For more information see the examples above. |
| showCheckAll | Boolean | true | Indicates if to show the "Check All" item. |
| showUncheckAll | Boolean | true | Indicates if to show the "Uncheck All" item. |
| showEnableSearchButton | Boolean | false | Indicates if to show the "Enable search / Disable search" item. |
| closeOnSelect | Boolean | false | Indicates if to close the dropdown after checking an item on the list. |
| closeOnDeselect | Boolean | false | Indicates if to close the dropdown after unchecking an item on the list. With selectionLimit = 1 setting this to true does the same as setting closeOnSelect to true. |
| buttonClasses | String | btn btn-default | The CSS classes that used for setting the style of the button. |
| groupByTextProvider | Function | angular.noop | A callback to a function that provide that name for each group when using group-by attribute. The parameter for the function will be the value of the group-by property. |
| scrollable | Boolean | false | Indicates if the dropdown is scrollable, useful if you have a lot of items. |
| scrollableHeight | Number | 300px | Indicates the height of the drop down if the dropdown is scrollable. |
| smartButtonMaxItems | Number | 0 | Manages the "Smart Button Text" feature, defines the maximum amount of items to on the button. |
| smartButtonTextConverter | Function | angular.noop | Related the "Smart Button Text" feature, if a function provided - it will called with two paramters: The item's text and the original item, the return value will displayed instead of the item's display property. This feature is useful when you want to convert the displayed text into something else. |
| styleActive | Boolean | false | Indicates if the list items should get a class active applied when they are selected. |
| keyboardControl | Boolean | false | When activated the dropdown can be used with the keyboard instead of with the mouse. |
| template | String | { {getPropertyForObject(option, settings.displayProp)} } | Can be used to modify the appearance of an option in the list, each option is accessible as option. |
| selectByGroups | Array | undefined | Values of the groupby property that you want to be selectable as group |
Available event callbacks what the directive fires. These callbacks are set with "events" attribute.
| Event Name | Parameters | Description |
|---|---|---|
| onItemSelect | item | Fired when selecting an item. |
| onItemDeselect | item | Fired when unselecting an item. |
| onSelectAll | Fired when clicking select all. | |
| onDeselectAll | Fired when clicking unselect all. | |
| onInitDone | Fired when the directive done with the "link" phase. | |
| onMaxSelectionReached | Fired when the user reaches the max allowed selected items. | |
| onSelectionChanged | Fired when the selection changes. |
Available texts that you can override if you wan't to make a translation for your website. These are set with the "translation-texts" attribute.
| Property Name | Default Value | Description |
|---|---|---|
| checkAll | Check All | "Check All" item's text. |
| uncheckAll | Uncheck All | "Uncheck All" item's text. |
| enableSearch | Enable search | "enable search" item's text. |
| disableSearch | Disable search | "disable search" item's text. |
| selectionCount | checked | The suffix for "X/Y" that showed when using selection limit. |
| selectionOf | / | The value between the selected values and the max values when using selection limit. |
| searchPlaceholder | Search... | The placeholder for the search input. |
| buttonDefaultText | Select | The default text that used for the button when no items selected. |
| dynamicButtonTextSuffix | checked | The suffix for the button that used when using "dynamicText". |
| selectGroup | Select All: | The prefix of the group selection. |


About PyREx¶
PyREx (Python package for Radio Experiments) is a Python package designed to simulate the measurement of Askaryan pulses via in-ice radio antenna arrays. The code was written for the ARA collaboration with considerations for future radio arrays. As such, the package is designed to be highly modular so that it can easily be used for other radio projects (e.g. ARIANNA, RNO, and IceCube Gen2).
Installation¶
The easiest way to get the PyREx package is using pip
as follows:
pip install git+https://github.com/bhokansonfasig/pyrex#egg=pyrex
PyREx requires python version 3.6+ as well as numpy version 1.17+, scipy version 1.4+, and h5py version 3.0+, which should be automatically installed when installing via pip
.
Alternatively, you can download the code from https://github.com/bhokansonfasig/pyrex/ and then either include the pyrex
directory (the one containing the python modules) in your PYTHON_PATH
, or just copy the pyrex
directory into your working directory.
PyREx is not currently available on PyPI, so a simple pip install pyrex
will not have the intended effect.
Quick Code Example¶
The most basic simulation can be produced as follows:
First, import the package:
import pyrex
Then, create a particle generator object that will produce random neutrino interactions in a cylinder with radius and depth of 1 km and with a fixed energy of 100 PeV:
particle_generator = pyrex.CylindricalGenerator(dr=1000, dz=1000, energy=1e8)
An array of antennas that represent the detector is also needed. The base Antenna
class provides a basic antenna with a flat frequency response and no trigger condition. Here we make a single vertical “string” of four antennas with no noise:
antenna_array = []
for z in [-100, -150, -200, -250]:
antenna_array.append(
pyrex.Antenna(position=(0,0,z), noisy=False)
)
Finally, we want to pass these into the EventKernel
and produce an event:
kernel = pyrex.EventKernel(generator=particle_generator,
antennas=antenna_array)
kernel.event()
Now the signals which triggered each antenna can be accessed by each antenna’s waveforms
parameter:
import matplotlib.pyplot as plt
for ant in kernel.antennas:
for wave in ant.waveforms:
plt.plot(wave.times, wave.values)
plt.show()
Note that it may take a few attempts before an event is generated which produces a visible signal on the antennas!
Units¶
For ease of use, PyREx tries to use consistent units in all classes and functions. The units used are mostly SI with a few exceptions listed in bold below:
Metric |
Unit |
|---|---|
time |
seconds (s) |
frequency |
hertz (Hz) |
distance |
meters (m) |
density |
grams per cubic centimeter (g/cm^3) |
material thickness |
grams per square centimeter (g/cm^2) |
temperature |
kelvin (K) |
energy |
gigaelectronvolts (GeV) |
resistance |
ohms |
voltage |
volts (V) |
electric field |
volts per meter (V/m) |


This example will create a synthesizer and play it.
This example uses two optional but recommended dependencies, the schema pack and the shim.
<script src="scripts/schema.js"></script> <!-- Include the schema packs for fast configuration -->
<script src="scripts/web-audio-shim.js"></script> <!-- Improve compatibility -->
<script src="scripts/jukebox.js"></script>
<script>
var schema = JBSchema.synthesizers["Omaha DS6"]; // The schema pack adds a global object.
var synth = Jukebox.getSynth(schema);
synth.play(10,1000) // bing;
</script>


Output description¶
Here you can find the I/O description of the complete pipeline as well as the examples of ukwac2tensor INPUT and OUTPUT files.
INPUT (ukWaC corpus file) -> ukwac_converter.py¶
ukwac.fixed-nowiki.node0031.gz:
<s>
I I PP 1 2 SBJ
took take VVD 2 0 ROOT
very very RB 3 4 AMOD
little little JJ 4 5 NMOD
part part NN 5 2 OBJ
in in IN 6 2 ADV
the the DT 7 8 NMOD
conversation conversation NN 8 6 PMOD
. . SENT 9 2 P
</s>
ukwac_converter.py -> OUTPUT -> head_searcher.py¶
ukwac.fixed-nowiki.node0031.converted.xml.gz:
<s>
<predicate>
<governor>take/VBD/2</governor>
<dependencies>
<dep type="A0">I/PRP/1</dep>
<dep type="V">take/VBD/2</dep>
<dep type="A2">very/RB/3 little/JJ/4</dep>
<dep type="A1">part/NN/5</dep>
<dep type="AM-LOC">in/IN/6 the/DT/7 conversation/NN/8</dep>
</dependencies>
</predicate>
</s>
head_searcher.py -> OUTPUT -> tensor.py¶
heads.ukwac.fixed-nowiki.node0031.converted.xml.gz:
<s>
<predicate>
<governor>take/VBD/2</governor>
<dependencies>
<dep algorithm="MALT" source="I/PRP/1" text="I" type="A0">i/prp/1</dep>
<dep source="take/VBD/2" text="take" type="V">take/VBD/2</dep>
<dep algorithm="FAILED" source="very/RB/3 little/JJ/4" text="very little" type="A2">very/rb/3 little/jj/4</dep>
<dep algorithm="MALT" source="part/NN/5" text="part" type="A1">part/nn/5</dep>
<dep algorithm="MALT" source="in/IN/6 the/DT/7 conversation/NN/8" text="in the conversation" type="AM-LOC">conversation/nn/8</dep>
</dependencies>
</predicate>
</s>
OUTPUT XML tags description¶
<sents>
– a root element of the xml file, contains <text> and <s>.<text>
– contains “id” attribute that is a url address of the sentences below until next <text> element.<s>
– an element that contains a sentence processed by head searching algorithms.<predicate>
– sentence predicate block.<governor>
– governor of the respective predicate block, e.g. examine/VBZ/12, where examine is a word, VBZ is a POS-tag and 12 is word index in a sentence <s> element.<dependencies>
– a block of dependencies for the current sentence governor, contains <dep> elements.<dep>
– a single dependency of a current governor, contains a head word extracted by one of the head searching algorithms, e.g. state/nn/16 where state is a head word, nn is a POS-tag, 16 is a word index. The element also contains the following important attributes:algorithm
– contains a name of a head searching algorithm used for head finding, e.g. MALT, MALT_SPAN, LINEAR or FAILED if no algorithm was able to find a head.source
– contains tokenized, lemmatized and POS-tagged clause governed by the <governor>. This clause is used by head searching algorithms.text
– contains tokenized, lemmatized clause governed by the <governor>. Similar to “source” but without POS-tags.type
– dependency type that follows PropBank annotation.
tensor.py -> OUTPUT¶
tensor.MALT-MALT_SPAN-LINEAR.h5:
import pandas as pd
tensor = pd.read_hdf('tensor_pmi.MALT-MALT_SPAN-LINEAR.h5', key='tensor')


#assign home = "active">
H2, Postgres, MySql, NuoDB, PostGIS, MariaDB, SQL Server, Oracle, Hana, CockroachDB, Clickhouse, Sqlite.
Ebean provides multiple levels of query abstraction.
Work at the highest level of abstraction and drop down levels as needed.
Docker test containers for all the supported databases.
Get 100% test coverage on all the features of the database we use.
Built in DB migration generation and running.
Support for "rebase" migrations as well as repeatable, init and 'normal' migrations.
We can build queries using type safe query beans.
IDE auto-complete when writing queries, compile time checking and it's FUN.
For ORM queries Ebean can profile the object graph being used and either automatically tune the query.
Ebean produces SQL that you would hand craft yourself.
Use great SQL, never generate SQL cartesian product, always honor relational limit/offset.
Optimise queries to only fetch what we need (partial objects).
Automatically avoid N+1 via a smart load context.
Ebean uses JPA mapping annotations.
Ebean provides a simple programming model that developers can understand and master quickly.
We can use Query beans to build queries in a type safe manner.
more details on queries
After struggling with what I'd call surprising behavior of a JPA implementation, I discovered Ebean. Time and time again I found that Ebean simply works the way I expect it to. Love it!
Daryl Stultz
OpenTempo, Inc.


"Oh man, halcy, I wish I could just go to a website and have copper bars there..."
"Well, wish no more!"
What is it?
Copper bars.
What for?
Your website.
Great, how?
<link rel="stylesheet" type="text/css" href="coppers.css">
[...]

Does that work on body?
Yes.
How exactly...
You don't want to know.
Animated?
Naturally.
What browsers?
Any that have good SVG support, which means any browser may or may not work depending on moon phase and jupiters orbital inclination. In firefox it somehow does not animate sometimes but it works after you reload the page.
Why?
Technology has come far, so we can have 1980s Amiga effects on the web now.
Those aren't real copperbars!
There probably is a number of coprocessors involved somehow.
The lines between colour transitions are ugly!
I can make them go away but that makes the SVG renderer choke.
Anything else?
CSS and SVG are terrible and the web needs to die.


{% with key='Append-datasets-filter' %}{% include "includes/help.html" %}{% endwith %} Combine multiple HXL datasets.


public class Question extends Model<IView> implements java.lang.Comparable<Question>, java.io.Serializable
Answer
,
Reply
,
Picture
,
Serialized Form| Constructor and Description |
|---|
Question(java.lang.String Text)
Builds a question based on the question text
provided.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAnswer(Answer answer)
Adds the provided answer to the answers the question
currently has
|
void |
addReply(Reply reply)
Adds a reply object to question
|
void |
attachAddress()
Attaches the address that has been genarted and attached to the username
|
int |
compareTo(Question q)
Comparator used to sort the question by date.
|
Address |
getAddress()
Returns the questions associated address
|
Answer |
getAnswerById(int id) |
Answer |
getAnswerByTempId(int id)
returns answer with correct tempId and
resets tempId
|
java.util.ArrayList<Answer> |
getAnswerByVotes()
Method returns the list of answers as sorted by upvotes
|
int |
getAnswerCount()
Returns the number of answers to the question
|
java.util.ArrayList<Answer> |
getAnswers()
Returns the list of Answer objects that are associated with
the question
|
java.util.Date |
getDate()
Gets the date the question was authored on.
|
int |
getId()
Returns the id that is assigned to the question that helps
uniquely identify it.
|
Bitmap |
getImage()
Returns the image that is attached to the question.
|
java.lang.Boolean |
getIsPushed()
Returns whether the Question has been pushed to Elastic Search
|
java.lang.String |
getQuestionText()
Gets the question text held by the Question object.
|
java.lang.String |
getReadableAddress()
Method that returns the string representation of the address
|
java.util.ArrayList<Reply> |
getReplies()
Returns all the replies to the question in an ArrayList.
|
int |
getRepyCount()
Returns the number of replies to the question
|
int |
getUpvotes()
Gets the number of upvotes that the question currently
has.
|
boolean |
hasPicture()
A method that returns whether there is a picture
attached to the question or not
|
void |
setAnswers(java.util.ArrayList<Answer> newAnswers)
Allows for the list of Answers to the question to be
set
|
void |
setAuthor(java.lang.String author)
Allows for the Author of the question to be set.
|
void |
setDate(java.util.Date d)
Allows for setting of the date to a specific date/time.
|
void |
setId(int newId)
Sets the Question id to a new integer
|
void |
setImage(Bitmap image)
Allows for setting of the picture attached to the question.
|
void |
setIsPushed(java.lang.Boolean isPushed)
Method sets the question to its state as pushed online or not
|
void |
setReadableAddress()
Converts the associated address object to a readable
string text that has the city name and country name
of the place the question has been posted from
|
void |
setUpvotes(int i)
Allows for setting up upvotes when either testing or
building a question from an elastic search response.
|
java.lang.String |
stringAuthor()
Gets the author of the question
|
java.lang.String |
stringDate()
Gets the date of the question in a string format
|
java.lang.String |
toString()
Method overrides the default toString method, returns the questionText
|
void |
upvote()
A function that increments the number of upvotes a question has.
|
addView, deleteView, notifyViews
public Question(java.lang.String Text)
Text
- The text that makes up the question.public java.lang.Boolean getIsPushed()
public void setIsPushed(java.lang.Boolean isPushed)
isPushed
- the boolean state that you' like the set the pushed status topublic boolean hasPicture()
public void upvote()
public void addAnswer(Answer answer)
answer
- The answer object that is to be added to the
list of answers to the question.public void addReply(Reply reply)
reply
- The reply object containing the reply text to
the questionpublic java.lang.String getQuestionText()
public java.lang.String toString()
toString
in class java.lang.Object
public void setUpvotes(int i)
i
- public int getUpvotes()
public java.util.Date getDate()
public void setDate(java.util.Date d)
d
- The date/time the question was authored onpublic java.util.ArrayList<Reply> getReplies()
public Bitmap getImage()
public void setImage(Bitmap image)
Image
- The bitmap of the picture to be attached to the
question.public java.util.ArrayList<Answer> getAnswers()
public Answer getAnswerById(int id)
id
- public Answer getAnswerByTempId(int id)
tempId
- public void setAnswers(java.util.ArrayList<Answer> newAnswers)
newAnswers
- The new list of answers to the questionpublic java.util.ArrayList<Answer> getAnswerByVotes()
public int getRepyCount()
public int getAnswerCount()
public int compareTo(Question q)
compareTo
in interface java.lang.Comparable<Question>
public int getId()
public void setId(int newId)
newId
- is the new desired id numberpublic void attachAddress()
public Address getAddress()
public void setReadableAddress()
public java.lang.String getReadableAddress()
public void setAuthor(java.lang.String author)
author
- The name of the author of the questionpublic java.lang.String stringAuthor()
public java.lang.String stringDate()


First, tell us your home ZIP code
... let's see if you qualify for financial assistance.
How much does everyone in your household make in a year? This includes everyone you entered on the previous page
The next set of screens will ask you about the medical preferences of you and your family. We do this to get a better idea of what kinds of health expenditures you will have in the coming year. This helps us recommend the plan that is least expensive and suits the needs of your family the best. We do not send any of this information to insurance companies.
Does anyone in your family see a doctor or other medical professional regularly that they’d like to keep seeing?
Does anyone in your family take a prescription medication regularly?
Not including regular checkups, how often does each of your family members see a doctor?
Many families just want to spend the least on their health costs over a year. Some families prefer to spend a little bit more in order to make their costs more predictable. In other words, some people would rather pay more each month so they don't have to pay each time they see the doctor. Would you like us to customize our recommended plans for you based on your financial preferences?


/**
* @classdesc
* CIDR library
*
* **PURPOSE**: Provides methods for working with CIDRs.
*
* The key methods it provides are:
*
* * `doSubnetsOverlap()` - Pass it two subnet strings, and it tells you whether they overlap
* * `sortCidrByBinary()` - Use this as your sort function's callback and you can sort subnets by their binary representation
*
* Another public method some may find useful is:
*
* * `getBinaryRepresentation()` - Returns the binary representation of a CIDR string.
*
* A CIDR is a Classless Inter-Domain Routing address. See https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing.
*
* In a bit more detail, a CIDR is an IP address with an optional range suffix appended after a forward slash. The range is
* the number of digits (bits, counted from left to right) in the binary representation of the IP address to count as part of
* that CIDR's prefix. When the range suffix is present, only the prefix (and not the rest of the IP address's) digits are
* considered to be significant. The result is the prefix represents a range of IP addresses, which is called a subnet.
*
* **USAGE**:
*
* To use this library, import and instantiate the `Cidr` class, then call the`doSubnetsOverlap` method with two CIDRs,
* like this:
*
* ```javascript
* import { Cidr } from './cidr.js';
*
* let cidr = new Cidr();
*
* let overlaps = cidr.doSubnetsOverlap('<IP_ADDRESS>/21', '<IP_ADDRESS>/20');
* ```
*
* Note: In the future I might use a different library in the app for which I wrote this one. A couple far more full-featured
* libraries are below:
*
* * [https://github.com/whitequark/ipaddr.js](https://github.com/whitequark/ipaddr.js)
* * [https://github.com/beaugunderson/ip-address](https://github.com/beaugunderson/ip-address)
*
*/
export class Cidr {
/**
* Constructor
*/
constructor () {}
/**
* Determine if the new subnet overlaps the existing subnet
*
* @param {string} first_cidr The first CIDR to compare
* @param {string} second_cidr The second CIDR to compare
* @returns {boolean}
*/
doSubnetsOverlap (first_cidr, second_cidr) {
// Convert subnets to their IP addresses' binary representations, truncated to the
// shortest of their two CIDR prefix lengths
const prefixes_array = this._getPrefixesOfShortestEqualLength(first_cidr, second_cidr);
// Compare the two prefixes
return (prefixes_array[0] === prefixes_array[1]);
}
/**
* Convert subnets to their IP addresses' binary representations, truncated to the
* shortest of their two CIDR prefix lengths
*
* @param {string} first_cidr The first CIDR from which to get a prefix
* @param {string} second_cidr The second CIDR from which to get a prefix
* @returns {array} An array containing the binary representations of the two input CIDRs, truncated to the shortest of their two prefix lengths
*/
_getPrefixesOfShortestEqualLength (first_cidr, second_cidr) {
const shortest_prefix_length = Math.min(this._getPrefixLength(first_cidr), this._getPrefixLength(second_cidr));
const first_binary_prefix = this._getBinaryPrefix(first_cidr, shortest_prefix_length);
const second_binary_prefix = this._getBinaryPrefix(second_cidr, shortest_prefix_length);
return [first_binary_prefix, second_binary_prefix];
}
/**
* Convert one subnet to the binary representation of its IP address, truncated to its
* CIDR prefix length. If the cidr is incomplete or specifies no prefix length,
* assume it is the left-most portion of the CIDR, and consider its binary length to
* be its prefix_length.
*
* @param {string} cidr The CIDR whose binary prefix should be returned
* @param {number} prefix_length The integer length of the CIDR's binary prefix
* @returns {string} The CIDR's binary prefix
*/
_getBinaryPrefix (cidr, prefix_length) {
const binary_classes = this.getBinaryRepresentation(cidr);
// Handle incomplete cidr
if (binary_classes.length < 32 && cidr.indexOf('/') === -1){
prefix_length = binary_classes.length;
}
// Truncate string to prefix length
const binary_prefix = binary_classes.substring(0, prefix_length);
return binary_prefix;
}
/**
* Get the CIDR's binary representation including both its prefix and suffix
*
* @param {string} cidr The CIDR whose binary representation should be returned
* @returns {string} The CIDR's binary representation
*/
getBinaryRepresentation (cidr) {
// Get classes as an array
var classes = this._getClasses(cidr);
// Convert classes to binary, and join the classes into one string
const binaryClassesString = classes.map(function(decimal){
const unpadded = parseInt(decimal, 10).toString(2);
const pad = '00000000';
const padded = pad.substring(0, pad.length - unpadded.length) + unpadded;
return padded;
}).join('');
return binaryClassesString;
}
/**
* Get the CIDR's prefix length as an integer. Handle incomplete cidrs by counting their binary
* length as their prefix_length.
*
* @param {string} cidr The CIDR whose prefix length should be returned
* @returns {number} The CIDR's prefix length as an integer
*/
_getPrefixLength (cidr) {
return cidr.indexOf('/') !== -1 ? parseInt(cidr.split('/')[1], 10) : this._getBinaryPrefix(cidr).length;
}
/**
* Get the CIDR's classes as an array of classes
*
* @param {string} cidr The CIDR whose classes should be returned
* @returns {array} An array of the classes in the CIDR
*/
_getClasses (cidr) {
return cidr.split('/')[0].split('.');
}
/**
* Sort CIDRs by their binary representation
*
* @param {string} a The first CIDR to sort
* @param {string} b The second CIDR to sort
* @returns {number} 1 means sort a before b; 0 means they sort to the same level; -1 means sort a after b
*/
sortCidrByBinary (a, b) {
const a_bin = this.getBinaryRepresentation(a);
const b_bin = this.getBinaryRepresentation(b);
// Compare as strings (to handle integers bigger than 2^53)
let a_string = String(a_bin, 10);
let b_string = String(b_bin, 10);
let out;
if (a_string > b_string) {
out = 1;
} else if (a_string === b_string) {
out = 0;
} else if (a_string < b_string) {
out = -1;
}
return out;
}
}


Constructor
new Mixpanel()
- Source:
Classes
- Mixpanel
Methods
(async, static) init(token, Optional)
Parameters:
| Name |
Type |
Description |
token |
string
|
your project token. |
Optional |
boolean
|
Whether or not Mixpanel can start tracking by default. See optOutTracking() |
- Deprecated:
- Source:
addGroup(groupKey, groupID)
Add a group to this user's membership for a particular group key
Parameters:
| Name |
Type |
Description |
groupKey |
string
|
The property name associated with this group type (must already have been set up). |
groupID |
object
|
The new group the user belongs to. |
- Source:
alias(alias, distinctId)
The alias method creates an alias which Mixpanel will use to remap one id to another.
Multiple aliases can point to the same identifier.
`mixpane.alias("New ID", mixpane.distinctId)`
`mixpane.alias("Newer ID", mixpane.distinctId)`
This call does not identify the user after. You must still call both identify() and
People.identify() if you wish the new alias to be used for Events and People.
Parameters:
| Name |
Type |
Description |
alias |
string
|
A unique identifier that you want to use as an identifier for this user. |
distinctId |
string
|
the current distinct_id that alias will be mapped to. |
- Source:
clearSuperProperties()
Erase all currently registered superProperties.
Future tracking calls to Mixpanel will not contain the specific
superProperties registered before the clearSuperProperties method was called.
To remove a single superProperty, use unregisterSuperProperty()
- Source:
deleteGroup(groupKey, groupID)
Permanently deletes this group's record from Group Analytics.
Parameters:
| Name |
Type |
Description |
groupKey |
string
|
String identifying the type of group (must be already in use as a group key) |
groupID |
object
|
Object identifying the specific group
Calling deleteGroup deletes an entire record completely. Any future calls
to Group Analytics using the same group value will create and store new values. |
- Source:
eventElapsedTime(eventName) → {Promise.<number>}
Retrieves the time elapsed for the named event since timeEvent() was called.
Parameters:
| Name |
Type |
Description |
eventName |
string
|
the name of the event to be tracked that was previously called with timeEvent() |
- Source:
Returns:
Time elapsed since timeEvent(String) was called for the given eventName.
-
Type
-
Promise.<number>
flush()
Push all queued Mixpanel events and People Analytics changes to Mixpanel servers.
Events and People messages are pushed gradually throughout
the lifetime of your application. This means that to ensure that all messages
are sent to Mixpanel when your application is shut down, you will
need to call flush() to let the Mixpanel library know it should
send all remaining messages to the server.
- Source:
getDistinctId() → {Promise.<string>}
Returns the current distinct id of the user.
This is either the id automatically generated by the library or the id that has been passed by a call to identify().
example of usage:
const distinctId = await mixpanel.getDistinctId();
- Source:
Returns:
A Promise to the distinct id associated with Mixpanel event and People Analytics
-
Type
-
Promise.<string>
getGroup(groupKey, groupID)
Returns a MixpanelGroup object that can be used to set and increment
Group Analytics properties.
Parameters:
| Name |
Type |
Description |
groupKey |
string
|
String identifying the type of group (must be already in use as a group key) |
groupID |
object
|
Object identifying the specific group |
- Source:
Returns:
an instance of MixpanelGroup that you can use to update
records in Mixpanel Group Analytics
getPeople() → {People}
Returns a Mixpanel People object that can be used to set and increment
People Analytics properties.
- Source:
Returns:
an instance of People that you can use to update
records in Mixpanel People Analytics
-
Type
-
People
getSuperProperties() → {Promise.<object>}
Returns a json object of the user's current super properties
SuperProperties are a collection of properties that will be sent with every event to Mixpanel,
and persist beyond the lifetime of your application.
- Source:
Returns:
Super properties for this Mixpanel instance.
-
Type
-
Promise.<object>
hasOptedOutTracking() → {Promise.<boolean>}
Will return true if the user has opted out from tracking.
- Source:
Returns:
true if user has opted out from tracking. Defaults to false.
-
Type
-
Promise.<boolean>
identify(distinctId)
Associate all future calls to track() with the user identified by
the given distinct id.
Calls to track() made before corresponding calls to identify
will use an anonymous locally generated distinct id, which means it is best to call identify
early to ensure that your Mixpanel funnels and retention analytics can continue to track the
user throughout their lifetime. We recommend calling identify when the user authenticates.
Once identify is called, the local distinct id persists across restarts of
your application.
Parameters:
| Name |
Type |
Description |
distinctId |
string
|
a string uniquely identifying this user. Events sent to
Mixpanel using the same disinct_id will be considered associated with the
same visitor/customer for retention and funnel reporting, so be sure that the given
value is globally unique for each individual user you intend to track. |
- Source:
(async) init(Optional)
Initializes Mixpanel
Parameters:
| Name |
Type |
Description |
Optional |
boolean
|
Whether or not Mixpanel can start tracking by default. See optOutTracking() |
- Source:
optInTracking()
Use this method to opt-in an already opted-out user from tracking. People updates and track
calls will be sent to Mixpanel after using this method.
This method will internally track an opt-in event to your project.
- Source:
optOutTracking()
Use this method to opt-out a user from tracking. Events and people updates that haven't been
flushed yet will be deleted. Use flush() before calling this method if you want
to send all the queues to Mixpanel before.
This method will also remove any user-related information from the device.
- Source:
registerSuperProperties(properties)
Register properties that will be sent with every subsequent call to track().
SuperProperties are a collection of properties that will be sent with every event to Mixpanel,
and persist beyond the lifetime of your application.
Setting a superProperty with registerSuperProperties will store a new superProperty,
possibly overwriting any existing superProperty with the same name (to set a
superProperty only if it is currently unset, use registerSuperPropertiesOnce())
SuperProperties will persist even if your application is taken completely out of memory.
to remove a superProperty, call unregisterSuperProperty() or clearSuperProperties()
Parameters:
| Name |
Type |
Description |
properties |
object
|
A Map containing super properties to register |
- Source:
registerSuperPropertiesOnce(properties)
Register super properties for events, only if no other super property with the
same names has already been registered.
Calling registerSuperPropertiesOnce will never overwrite existing properties.
Parameters:
| Name |
Type |
Description |
properties |
object
|
A Map containing the super properties to register. |
- Source:
removeGroup(groupKey, groupID)
Remove a group from this user's membership for a particular group key
Parameters:
| Name |
Type |
Description |
groupKey |
string
|
The property name associated with this group type (must already have been set up). |
groupID |
object
|
The group value to remove. |
- Source:
reset()
Clear super properties and generates a new random distinctId for this instance.
Useful for clearing data when a user logs out.
- Source:
setGroup(groupKey, groupID)
Set the group this user belongs to.
Parameters:
| Name |
Type |
Description |
groupKey |
string
|
The property name associated with this group type (must already have been set up). |
groupID |
object
|
The group the user belongs to. |
- Source:
setLoggingEnabled(loggingEnabled)
This allows enabling or disabling of all Mixpanel logs at run time.
All logging is disabled by default. Usually, this is only required if
you are running into issues with the SDK that you want to debug
Parameters:
| Name |
Type |
Description |
loggingEnabled |
boolean
|
whether to enable logging |
- Source:
setServerURL(serverURL)
Set the base URL used for Mixpanel API requests.
Useful if you need to proxy Mixpanel requests. Defaults to https://api.mixpanel.com.
To route data to Mixpanel's EU servers, set to https://api-eu.mixpanel.com
Parameters:
| Name |
Type |
Description |
serverURL |
string
|
the base URL used for Mixpanel API requests |
- Source:
setUseIpAddressForGeolocation(useIpAddressForGeolocation)
This controls whether to automatically send the client IP Address as part of event tracking.
With an IP address, geo-location is possible down to neighborhoods within a city,
although the Mixpanel Dashboard will just show you city level location specificity.
Parameters:
| Name |
Type |
Description |
useIpAddressForGeolocation |
boolean
|
whether to automatically send the client IP Address.
Defaults to true. |
- Source:
timeEvent(eventName)
Begin timing of an event. Calling timeEvent("Thing") will not send an event, but
when you eventually call track("Thing"), your tracked event will be sent with a "$duration"
property, representing the number of seconds between your calls.
Parameters:
| Name |
Type |
Description |
eventName |
string
|
the name of the event to track with timing. |
- Source:
track(eventName, properties)
Track an event.
Every call to track eventually results in a data point sent to Mixpanel. These data points
are what are measured, counted, and broken down to create your Mixpanel reports. Events
have a string name, and an optional set of name/value pairs that describe the properties of
that event.
Parameters:
| Name |
Type |
Description |
eventName |
string
|
The name of the event to send |
properties |
object
|
A Map containing the key value pairs of the properties to include in this event.
Pass null if no extra properties exist. |
- Source:
trackWithGroups(eventName, properties, groups)
Track an event with specific groups.
Every call to track eventually results in a data point sent to Mixpanel. These data points
are what are measured, counted, and broken down to create your Mixpanel reports. Events
have a string name, and an optional set of name/value pairs that describe the properties of
that event. Group key/value pairs are upserted into the property map before tracking.
Parameters:
| Name |
Type |
Description |
eventName |
string
|
The name of the event to send |
properties |
object
|
A Map containing the key value pairs of the properties to include in this event.
Pass null if no extra properties exist. |
groups |
object
|
A Map containing the group key value pairs for this event. |
- Source:
unregisterSuperProperty(propertyName)
Remove a single superProperty, so that it will not be sent with future calls to track().
If there is a superProperty registered with the given name, it will be permanently
removed from the existing superProperties.
To clear all superProperties, use clearSuperProperties()
Parameters:
| Name |
Type |
Description |
propertyName |
string
|
name of the property to unregister |
- Source:


I finished my K.C.S.E in 2015 and attained a mean grade of A-.
I was called to join JKUAT, Nairobi where i was to partake in Mining Engineering .
I did that for 2 years and decided mining was not for me.
I decided to enroll to Moringa School to pursue my dream of becoming a software developer specializing in app development.


Post by: Johhn Davis, Greenhorn
on Oct 08, 2012 04:20:50
Facing many errors in Eclipse :
Exception in thread "main" java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at Demo.main(Demo.java:9)
Post by: Jeff Verdegan, Bartender
on Oct 08, 2012 08:37:56
That tells you that google.com is not listening for a TCP socket connection on port 43. Or possibly that there's no network path from your host to google.com, but that may give a different error message.
Any particular reason you assumed you'd be able to connect to google.com:43?
Post by: Johhn Davis, Greenhorn
on Oct 08, 2012 09:26:34
no particular reason, it was just hit & trial method to check such code.
well thanks for reply.
Post by: Jeff Verdegan, Bartender
on Oct 08, 2012 09:34:21
Johhn Davis wrote:no particular reason, it was just hit & trial method to check such code.
well thanks for reply.
Then try port 80. Any site you can get to with your browser using http://some_site.com without specifying a port is listening on port 80. Of course, probably none of them are expecting to receive "Hello to server", so you'll get an error in response. If you want to initiate a real exchange, then try sending
inluding the newline (possibly two newlines--I forget the details), and read the response.
Post by: Ulf Dittmer, Marshal
on Oct 08, 2012 13:05:16
I think it needs to be "GET / HTTP/1.0" for a proper HTTP request.
Post by: Pat Farrell, Rancher
on Oct 08, 2012 14:10:17
Ulf Dittmer wrote:I think it needs to be "GET / HTTP/1.0" for a proper HTTP request.
Actually, two lines:
GET / HTTP/1.0
(second line blank with no spaces) will work
The protocol requires the second line.
Post by: Jeff Verdegan, Bartender
on Oct 08, 2012 14:36:45
Pat Farrell wrote:
Ulf Dittmer wrote:I think it needs to be "GET / HTTP/1.0" for a proper HTTP request.
Actually, two lines:
GET / HTTP/1.0
(second line blank with no spaces) will work
The protocol requires the second line.
It must depend on how rigidly the server enforces the HTTP protocol, or what version it is. I often test connections by telneting to port 80 and just entering GET or GET / followed by one or two newlines.
Post by: Pat Farrell, Rancher
on Oct 08, 2012 14:52:04
Jeff Verdegan wrote:I often test connections by telneting to port 80 and just entering GET or GET / followed by one or two newlines.
GET /
followed by to CR is fine.
My point was that you always need the two CR, its not enough to have just the "GET" command
Post by: Johhn Davis, Greenhorn
on Oct 08, 2012 23:10:17
After editing
I am receiving different error :
Exception in thread "main" java.net.UnknownHostException: http://www.google.com at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at Demo.main(Demo.java:9)
Jeff & Pat, where i am supposed to write GET / HTTP/1.0 ? When I put this at google url i got same error UnknownHostException .
Post by: Ulf Dittmer, Marshal
on Oct 08, 2012 23:40:03
The first parameter of the Socket constructor is a host name, not an URL - remove the "http://".
The" GET... " is the message you send instead of the one you're currently using.
Post by: Johhn Davis, Greenhorn
on Oct 09, 2012 00:29:49
Now i edited it as :
I didn't get any error . Ulf does it mean success ?
Post by: Ulf Dittmer, Marshal
on Oct 09, 2012 00:35:38
Possibly. Try reading what gets sent as response and print it to the console to be sure.
Post by: Johhn Davis, Greenhorn
on Oct 09, 2012 04:34:22
Try reading what gets sent as response and print it to the console to be sure.
I don't yet how to do this (may be i) . I assume it should be like , i am unicasting and it comes back (if so) , i store it in somewhere and watch the output at console.
But i did something. I switched off the Modem , run the code and Got the error.
Post by: Jeff Verdegan, Bartender
on Oct 09, 2012 08:17:57
Johhn Davis wrote:Now i edited it as :
I didn't get any error . Ulf does it mean success ?
It means you're connected.
Post by: Jeff Verdegan, Bartender
on Oct 09, 2012 08:21:22
Johhn Davis wrote:
Try reading what gets sent as response and print it to the console to be sure.
I don't yet how to do this (may be i) . I assume it should be like , i am unicasting and it comes back (if so) , i store it in somewhere and watch the output at console.
You get the Socket's OutputStream, write "GET /" and two newlines, get the InputStream, read as much of the response as you're interested in, and print it out to the screen as you read it. At least, that's what I would do if I was just playing around with sockets seeing if I understood how they work and wanted to test whether I could send and receive data. If there's some other more specific goal you have, then you may have to do something different to achieve it.
But i did something. I switched off the Modem , run the code and Got the error.
And this surprises you?
Post by: Johhn Davis, Greenhorn
on Oct 09, 2012 11:16:51
I got that.
Jeff thanks for helping me here & in other threads too. Well i still couldn't get how to use that GET/ ,beside i give my best to play with sockets
Sharing a Joke :
" When Your life is in Darkness, pray GOD and ask him to free you from Darkness, Even after you pray, if You are still in Darkness please PAY ELECTRICITY BILL "
Post by: Jeff Verdegan, Bartender
on Oct 09, 2012 11:27:49
Johhn Davis wrote:
Jeff thanks for helping me here & in other threads too.
You're very welcome.
Well i still couldn't get how to use that GET/
Note that the GET / part a) has a space between "GET" and "/" and b) has nothing to do with sockets per se.
The GET / bit is part of the HTTP protocol, which is at a higher layer (Application layer) in the network stack than a simple TCP socket connection (Transport layer). Once you have established a socket connection to a server, how you interact with that server over that connection depends on what Application protocol(s) the server supports. In the examples here, I was assuming a web server supporting the HTTP protocol. When we send a GET command with the name of the resource to get ("/" in my example), the server responds with the contents of that resource. So we write "GET /" followed by two newlines, and then we read whatever the server sends back.
If the server we're connected to is supporting some other protocol rather that HTTP, there will be a different set of valid requests we can send, which will in turn generate a different set of responses.
Post by: Johhn Davis, Greenhorn
on Oct 11, 2012 03:53:19
No error that's good, & No response
Post by: Ulf Dittmer, Marshal
on Oct 11, 2012 04:03:36
Three comments:
There should be a space between "/" and "HTTP" in the message.
Why are you wrapping a BufferedWriter inside of another BufferedWriter? That's one too many.
How can you say there's no response? There's no code to read a response.
All times above are in ranch (not your local) time.
The current ranch time is Dec 13, 2013 16:54:26.


Check out the latest posts by Jonathan Baca or Gabriel Hesch, and find out what's up with Breaking Math!
We are proud to announce that we have recorded very first minisode! If you have iTunes, you can get it here, or here if you prefer Soundcloud. In addition, we are introducing a new blog that will accompany the minisodes and the regular episodes! The blog will be written by the hosts that are on the minisode (Gabriel, Jonathan, and sometimes other guests) and will include a very brief summary of the content of the minisode as well as some possible expansions or clarifications as needed.
Not only can you listen to the podcast on your preferred podcast player, but you can now read a brief summary of the content here! We will also be including citations to papers we refer to, diagrams, videos, and other links.
Finally, if you would like to give us feedback about the minisodes, you can go to the breaking math discussions group on facebook (Note: it is a private group, so you will have to request permission to be added. We will most likely add you... If you’re cool. ) We welcome your questions, comments, or corrections (Just remember to start your corrections with, “Um, well, actually...“).
A minisode is a brief episode that is unplanned, unscripted, and mostly unedited (and also recorded on our computers rather than in studio, so it may suffer from less-than-stellar quality). It serves to give listeners a genuine look at who we are and how we interact in our natural habitat. Topics include ideas for main episodes, humorous anecdotes, behind-the-scenes news, etc. Each minisode includes material recorded both in studio and at our homes (or in our car) on our smart devices.
For the break, we return to the studio, where we recorded episode 6 Word with guests Zachary Bigger, Owen Martin, and Mark Galik.
Here's another reminder to stay tuned! We're going to add the capability for you to comment and join the discussion very soon! In the meantime, go to the facebook group "Breaking Math: Discussion" to engage. It's a closed group, but we'll let anyone in. We have it closed to that we can kick you out.
Monday, December 26th
My name is Gabriel Hesch. I am a former educator (taught grades K--8 for five years, including science and math at the middle school level for 3 years). Recently, I went back to school to finish my master’s degree in electrical engineering at UNM. I was fortunate enough one day to sit by Jonathan Baca in the SUB one day, when I asked him if I could charge my computer using the wall outlet that was near his chair. After he noticed that I was working on some coursework in Digital Logic Design, he informed me that he tutored this subject as well as other subjects too (mathematics in general, computer science, others. SEE HIS RESUME; this guy is amazing! And reasonably priced too.  See ;) (For you grammar nazis, here’s your end paren)).
While Jonathan helped me not only survive my digital logic class, but to understand it well, be began bonding over what makes for effective teaching pedagogy and what are some of the challenges students often face, particularly in the STEM fields. Because I had a prior background in education and Jonathan had prior experience as a tutor, this led to many fruitful discussions.
After two years of tutoring sessions and long conversations on the strangeness and awesomeness of mathematics, we came up with the idea of doing a podcast together. Although we have many shared interests, we decided to make the focus of the podcast on mathematics first, and then to branch out into other subjects later (we all know the popular saying that physics is simply applied math, chemistry is simply applied physics, biology is applied chemistry, and on and on). Our aim is to make the subject matter both interesting as well as highly accessible to a lay audience of approximately 8th grade (which is the grade level that I used to teach). We decided on ten episodes on subject areas that were chosen very deliberately (you can read about these on this website). We are hoping that through this podcast, we may increase an appreciation for mathematics as a whole in an audience that may or may not already have an intrinsic appreciation for the subject.
I think it is worth mentioning that we highly value feedback. We look forward from our listeners about our show. Please let us know your thoughts on topics we chose, the show, or just how your day is going ; ). Here are some sample questions that we would be very interested in hearing about:
Thank you SO much for stopping by! Enjoy the show!
Gabe
Monday, December 26th
Welcome to the Breaking Math Podcast blog. Here, me, Gabriel Hesch, and maybe some guest bloggers are going to write some relevant thoughts about what we're doing, going to do, thinking about, and other such information.
Let me begin by sort of explaining why I wanted to do the podcast in the first place. Me and Gabriel were finishing up a tutoring session one day, and we found out that we both enjoyed podcasts quite a lot, and we sort of both organically came up with the idea of the Breaking Math Podcast.
So we have some episodes planned, and I'm going to lay them out for you: Warning: possible spoilers ahead!
This is gonna be an episode about how elitism in math has shaped the way math has been taught. You can check out a preview here.
This episode is going to be all about chaotic systems and fractals. We're making this episode because there's a lot of misinformation surrounding these beautiful mathematical structures that have changed that way that people have viewed science itself in the last century or so. We're gonna have some audio samples that illustrate, auditorally, fractals like this one:
This episode is gonna be about stuff. All stuff! Basically, since everything is information, this is, in a weird way, a theory that you can apply to everything from quantum mechanics to language to fractals, etc. For example, in English, there's about one bit of information per letter, which means that, when you compress a file, you can usually get it down to about 1/8th of its size (in ASCII, there are 8 bits per letter, for historical reasons that will be explained in the episode or the paper thereof).
Science sometimes make predictions about math, because the math it makes is useful (as is seen in the Fourier series), and sometimes the other way around (such as in matrices and how they apply to quantum mechanics).
We're gonna talk about how stuff is proven, a little bit about the history thereof, when proofs break down, and even have a few examples. Proofs are the bedrock of mathematics; without them, all you have is numerology.
In this episode, gedankenexperiment (or thought experiment), the concept of doing experiments in your own mind before doing them in the real world, will be covered.
A fun episode about the theory behind games like chess, negotiation strategy, etc.. We'll go over the prisoner's dilemma (more information can be found on the Wikipedia Page about it), and other fun thought experiments.
We're gonna start with tally marks, and go all the way to quantum computers on this one. This episode's gonna be sort of a fun one for a lot of people, but be no less informative or accessible than any of the other episodes.
This one's a doozy, and might even be a two-parter. Not to spoil anything, but we're gonna cover the math behind reason and consciousness itself. For those who are more well-acquainted with the topic and assert that what we're doing is impossible, we urge you to stay tuned.
Whew! We're gonna end with a fun episode about how to have fun with math itself (a concept that is laughable to a lot of people, but we're hoping to change that attitude).
We're very happy to have you here, and we urge you to subscribe to our podcast on Soundcloud. And we're very thankful to KUNM for helping us out with the equipment, editing, and other technical things.


Startup Design Framework contains components and complex blocks which can easily be integrated into almost any design. All of these components are made in the same style, and can easily be integrated into projects.
To get started, you select the any sample and base the entire website on it.
All of these components are made in the same style, and can easily be integrated into projects, allowing you to create hundreds of solutions for your future projects.
Startup Design Framework contains components and complex blocks which can easily be integrated into almost any design. Responsive layout, clear grid, retina ready.
We did a 2.5K size high resolution photo that will suit even for a very large web site.
To get started, you select the desired sample and base the entire website on it. It’s that simple!
Samples will show you the feeling on how to play around using the components.
You can easily combine any components in a variety of design projects. It’s easy!
There are a lot of different blocks that will help you to make a perfect project.
Use your time for generating new ideas for your startup. Take a break from the routine.
You have the design, you have the code
Use your time for generating new ideas for your startup. Take a break from the routine and work for new ideas.
Of course we haven’t forgotten about the responsive layout. Create a website with full mobile support.
Startup Framework works fine on devices supporting Retina Display. Feel the clarity in each pixel.
Startups can save money on design and code and spend it on concept, ideas and functionality.
Use samples as-is or with new blocks from a UI Kit
To get started, you select the desired sample and base the entire website on it. It’s that simple!
Each of these beautiful samples you can use as-is or with new blocks from a UI Kit to make your startup.
You’ll get a description of each component and learn how to connect and use them.
Of course we haven’t forgotten about the responsive layout. Create a website with full mobile support.
We have a great surprise for Designmodo fans – our first free HTML user interface kit. Flat UI Free is made on the basis of Twitter Bootstrap in a stunning flat-style.
TRY IT NOWDocumentation is really important for a developer. Right from it you get to know the product. We tried to describe all the components and provide the set-up instructions.
You can decide whether to create your site using UI Kit blocks or samples.
To get started, you select the desired sample and base the entire website on it. It’s that simple!
Samples will show you the feeling on how to play around using the components in the website building process.
Responsive web design is a web design approach aimed to provide crafting sites.
You have the design, you have the code
We have a great surprise for Designmodo fans – our first free HTML user interface kit. Flat UI Free is made on the basis of Twitter Bootstrap in a stunning flat-style, and the kit also includes a PSD version for designers.
Designmodo fans – our first free HTML user interface kit. Flat UI Free is made on the basis of Twitter Bootstrap in a stunning flat-style, and the kit also includes a PSD version for developers.
We have considered your needs in developing the html version of
Your needs in developing the html version of UI which contains
This is a probably the best plans ever born
You should follow us on Twitter to post something
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Multi useful components
Startup Design Framework contains components and complex blocks which can easily be integrated into
almost any design.
All of these components are made in the same style, and can easily be integrated into projects.
Introduction
To get started, you select the any sample and base the entire website on it.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-1.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
This block has a special areas for video content with title and description
...

and two buttons within
...

.
The video itself is in
...

and it's using an iframe. To change the video, simply replace this iframe with your own.
The buttons have normal and hover states, but they don't have any functionality by default, so you should apply your own functionality to it.
We have created this example for you to see how this block looks combined with other content.
You can see it in sample # 5
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Multi useful components
All of these components are made in the same style, and can easily be integrated into
projects, allowing you to create hundreds of solutions for your future projects.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-2.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
This block has a title, a slogan and an area for buttons and links on the left. You need to add your own functionality for the buttons and URLs for the links.
On the right side of this block there is special area for video content. To add a video you need to place it inside
...

. This area also has a special 'play' button
which you can use for playing the video. However, you need to add the functionality for it yourself.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 6
sample # 20
This block was developed as a standard content block. Each block that is marked as 'content' could be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
We’ve created the product that will help your startup to look better.
Startup Design Framework contains components and complex blocks which can easily be
integrated into almost any design. Responsive layout, clear grid, retina ready.
High Resolution
We did a 2.5K size high resolution photo that will suit even for a very large web site.
Easy to use
To get started, you select the desired sample and base the entire website on it. It’s that
simple!
Feel our design
Samples will show you the feeling on how to play around using the components.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-3.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
This block has a title and a slogan on the left. On the right side there is an image and you can replace it with your own. This block also has three columns on the bottom, each with a title and a description.
This block has another nice functionality. You can add class "mirror" to the main element of this block:

, and have this layout horizontally
mirrored.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 9
sample # 11
sample # 19
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
We love what we do. This is features of our products
Block Model
You can easily combine any components in a variety of design projects. It’s easy!
Multi-components
There are a lot of different blocks that will help you to make a perfect project.
Save Your Time
Use your time for generating new ideas for your startup. Take a break from the routine.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-4.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
It has a title on the top and three columns with an image, a title and a description.
We have created this example for you to see how this block looks combined with other content.
You can see it in sample # 1
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Perfect for your project
You have the design, you have the code
Save Your Time
Use your time for generating new ideas for your startup.
Take a break from the routine and work for new ideas.
Responsive Layout
Of course we haven’t forgotten about the responsive layout. Create a website with full mobile
support.
Retina Ready
Startup Framework works fine on devices supporting Retina Display. Feel the clarity in each
pixel.
Money Economy
Startups can save money on design and code and spend it on concept, ideas and functionality.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-5.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
It has an image, a title and a slogan on top of it which have a center alignment. The block also has two columns with a title and a description. The titles in these columns also have icons.
We have created this example for you to see how this block looks combined with other content.
You can see it in sample # 5
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Variety of designs
Use samples as-is or with new blocks from a UI Kit
Easy to use
To get started, you select the desired sample and base the entire
website on it. It’s that simple!
Variety of designs
Each of these beautiful samples you can use as-is or with new blocks from a UI Kit to make your
startup.
User Guide
You’ll get a description of each component and learn how to connect and use them.
Responsive Layout
Of course we haven’t forgotten about the responsive layout. Create a website with full mobile
support.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-6.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
This block has an image, a title and a slogan on top. These elements have center alignment. It also has two columns containing items with titles and descriptions.
We have created this example for you to see how this block looks combined with other content.
You can see it in sample # 8
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Take a look in our awesome product
Of course we haven’t forgotten about the responsive layout. Create a website with full mobile
support.
Responsive Layout
Of course we haven’t forgotten about the responsive layout. Full mobile support.
Retina Ready
Startup Framework works fine on devices supporting Retina Display. Feel the clarity!
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-7.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
This block has a title with center alignment on the top. It also has three columns.
The first column contains simple text.
The second column contains two images within
...

which are used for animation.
The last column contains items with a title and a description.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 4
sample # 20
sample # 22
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Take a look to our amazing Kit
We have a great surprise for Designmodo fans – our first free HTML user interface kit.
Flat UI Free is made on the basis of Twitter Bootstrap in a stunning flat-style.
TRY IT NOW
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-8.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
This blocks has center alignment for all of its elements. It has an image, a title, a description or a slogan and a button. You need to apply your own functionality to the button.
We have created this example for you to see how this block looks combined with other content.
You can see it in sample # 4
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Documentation
Documentation is really important for a developer. Right from it you get to know the product.
We tried to describe all the components and provide the set-up instructions.
User Guide
You’ll get a description of each component and learn how to connect and use them.
Video Tutorials
Video tutorials show you how to make a web site for your startup from design to code.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-9.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
On the left of this block there is a title, some text description and two columns with titles and descriptions. The right side of the block has an image.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 6
sample # 16
sample # 23
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
The Second Sneak-Peek
of Startup Design Framework
You can decide whether to create your site using UI Kit blocks or samples.
Easy to use
To get started, you select the desired sample and base the entire website on it. It’s that
simple!
Feel our design
Samples will show you the feeling on how to play around using the components in the website
building process.
Variety of designs
Responsive web design is a web design approach aimed to provide crafting sites.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-10.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
The left side of the block has a title, text and blocks with images, titles and descriptions. The right side has a carousel:
...

.
In order to change the images inside the carousel you need to replace the image tag within
...

, but you should maintain the HTML structure. The carousel
has special active indicators under the images, so if you want to add more images you should also add indicators for them. The indicators are items in the following ordered list:
...

.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 2
sample # 12
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
You have the design, you have the code
TRY IT NOW
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-11.less';
In this section you will see what modifications you can do to the block.
This block is very simple and contains only text and a button. All the elements have center alignment. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
You need to implement the functionality for the button yourself.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 4
sample # 14
sample # 20
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Buy Gramm App for $9
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-12.less';
In this section you will see what modifications you can do to the block.
This block is very simple and only contains text. The whole area of this block is a big button. You can use it as a banner. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
You need to add functionality for the action of this block yourself.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 6
sample # 08
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-13.less';
In this section you will see what modifications you can do to the block.
This block is a subscription form. You can send the data from the form to the server or do something else with it. To add functionality to this form you need to add parameters to the form tag.
You need to add functionality for the action of this block yourself.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 3
sample # 05
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
Startup Framework
You have the design, you have the code
Money
Startups can save money on design and code and spend it on concept and functionality.
Retina Ready
Startup Framework works fine on devices supporting Retina Display.
Easy to use
To get started, you select the desired sample and base the entire website on it.
User Guide
You’ll get a description of each component and learn how to connect and use them.
Save Your Time
Use your time for generating new ideas for your startup.
Responsive Layout
Of course we haven’t forgotten about the responsive layout.
Clear Grid
Components fixed to 12 Grid system. It allows you to find understanding between the designer and
developer.
Video Tutorials
Video tutorials show you how to make a site from design to code.
Copy the same code as in css version and paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-14.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
It has a title and a slogan on top of it and a three column layout on the bottom. The left and right columns contain items with titles and descripttions. The center column contains an image.
We have created this example for you to see how this block looks combined with other content.
You can see it in sample # 23
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
We have considered your needs in developing the html version of our
UI Kit, which contains components & elements.
We have a great surprise for Designmodo fans – our first free HTML user interface kit.
Flat UI Free is made on the basis of Twitter Bootstrap in a stunning flat-style,
and the kit also includes a PSD version for designers.
Designmodo fans – our first free HTML user interface kit.
Flat UI Free is made on the basis of Twitter Bootstrap in a stunning flat-style,
and the kit also includes a PSD version for developers.
Aligned to grid
We have considered your needs in developing the html version of
Retina Ready
Your needs in developing the html version of UI which contains
Copy the same code as in css versionand paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-15.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
The main part contains a title with center alignment and text in two columns. The bottom row of the block contains an image in the left column and items with titles and descriptions in the right column.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 20
sample # 22
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
We love what we
do
This is a probably the best plans ever born
Copy the same code as in css versionand paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-16.less';
In this section you will see what modifications you can do to the block.
All elements of this block have center alignment. This consists of three rows. The first row has a logo. The second row has a title. Finally, the third row has some description text.
The bottom part of this block contains a button with absolute position, which takes you to the next block of the page.
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
You should follow us on Twitter to post something
Copy the same code as in css versionand paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-17.less';
In this section you will see what modifications you can do to the block.
All elements of this block have center alignment. This block consists of three rows. The first row has a logo. The second row contains a carousel. And finally, the third row has some description text.
The content of the carousel is located within
...

. You can replace any of the inner items or add a new one.
We have created this example for you to see how this block looks combined with other content.
You can see it in sample # 8
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
@mc
Easy to change and easy to create new elements with color.
@madbyte
Awesome Kit. It’s more easiest way to make my startup. Thanks!
@stSilent
Create new elements with color swatches. Wow!
Copy the same code as in css versionand paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-18.less';
In this section you will see what modifications you can do to the block.
This block has two rows. The first row contains a carousel with center alignment, and controls with absolute position.
The second row has three columns with titles and description texts. You can modify any element of this block, but you should follow the HTML structure if you want to maintain its view and functionality.
The content of the carousel is located within
...

. You can replace any of the inner items and add a new one.
We have created examples for you to see how this block looks along with other content.
You can see it in next samples:
sample # 15
sample # 22
This block was developed as a standard content block. Each block that is marked as 'content' can be used multiple times on one page.
If you haven't already done all the instructions from the how to install page of this documentation, please do that first.
To use this block, simply copy and paste the following rows into your HTML file:
We have considered your needs in developing the html version of our UI Kit, which contains
elements.
25 MINUTES AGO
Easy to change and easy to create new elements with color.
1 HOUR AGO
Easy to change and easy to create new elements with color.
Copy the same code as in css versionand paste it in your '.less' file. Put the following line after that code:
@import '../../ui-kit/ui-kit-content/less/content-19.less';
In this section you will see what modifications you can do to the block.
Like all the other content blocks this block is based on a grid. You can modify any element of this block, but you should follow the same HTML structure if you want to maintain its look and functionality.
On the left side of this block you can see a title and an author's name with a special photo container.
The right side contains items with author's names, photo containers, time marks and descriptions.
These items have the following structure for the left part:
For right part:
25 MINUTES AGO
Easy to change and easy to create new elements with color.
You can replace the text for these items and add new items.
We have created this example for you to see how this block looks combined with other content.
You can see it in sample # 17


Below is the video presentation of our project:
Julie is a three year old preschool student who enjoys music. She is not currently ambulatory (able to walk) or verbal, and will spend most of her day seated, either in a regular chair, or her stroller. Her limitations have no specific medical diagnosis, but while children typically begin their first steps at 9 to 12 months, Julie has never taken steps on her own [1]. She has been able to stand, locking her legs, but not ambulate without assistance.
Julie' s parents and doctors would really like for Julie to learn to walk. There is numerous health benefits related to mobility. Simply standing upright is beneficial for many of the body' s systems that operate optimally in this position [2].
She is currently learning how to walk with help from a Rifton Pacer gait training device. The device, shown in Figure 1, is a four wheeled mobile structure with armrests and handles that help support her body as she takes steps. These devices have been shown to improve cognition, muscle development, and skeletal growth [3].
Figure 1: Gait Trainer K502 by Rifton
Julie does not enjoy using the trainer and will only take steps when prompted with physical instruction. Without the ability to communicate verbally, Julie shows her displeasure with the gait trainer by grimaces and cries. When she hears music though, she instantly cheers up; smiling, laughing, and even taking a few steps unprompted.
The company that makes the Rifton gait trainer has a number of accessories designed to help children use its device. Accessories they call “prompts” limit the motion of the user, forcing specific leg placement. These may help Julie place her legs correctly as she uses her trainer, but they do nothing to motivate her.
The goal is to provide an easily attachable device that will motivate the client to take steps in the gait trainer through audio and visual feedback stimuli that will trigger in response to forward movement. The device will have multiple modes of stimulation control, including a remote manual override to the automated control. The physical therapist will be able to adjust the length of stimulus duration per forward movement, the music files, the video files, the volume of the audio, and the trigger condition of the stimulus.
Our design can be divided to four parts: the Tablet, the Mount the Application, and the Bluetooth Remote.
The android tablet that was used for our project is the Asus Galaxy Nexus 7 (Figure 2). It has access to most recent update of the Android Operating System and is able to accommodate our application which is written using the latest Android Application Development Kit in Java. The device also has a Bluetooth capability that allows us to give the physical therapist the remote manual control over the stimuli produced by our application.
Figure 2: Asus Galaxy Nexus 7
The mount assembly will interface our tablet to the Rifton Pacer (Figure 3). It is assembled out of parts from Ram Mount, and can be attached to the Pacer away from the reach of our client.
Figure 3: Tablet mounted on the pacer
The application is called Shakey, and its user interface provides the physical therapist the control over various settings (Figure 4).
The screenshots of the application. Screenshot with the entire settings menu opened and stimuli not triggered (above). Screenshot when the stimuli are triggered (below).
This remote from Satechi will be carried by the physical therapist. It will allow her to switch between automatic and manual modes, and start or end the stimuli while aiding the client, away from the tablet (Figure 5).
Figure 5: Bluetooth
The device has been evaluated using the verification and validation process. The verification plan for each performance criteria has been tested within the lab by our design team. The validation plan for each performance criteria has been tested with the client and the physical therapist. The detailed test criteria, procedure and the results can be found in Appendix C. The physical therapist has affirmed that our device will greatly aid the client in her gait training sessions (Appendix A).
Our project components come together to provide adequate positive audio and visual feedback to the client that motivate her to continue in gait training therapy sessions without complaints of displeasure. During the final client test, the client did not grimace or vocally expressed her displeasure during the whole gait training session.
[1] Babycenter, 2013, accessed 27 January 2013, <http://www.babycenter.com/0_developmental-milestone-walking_6507.bc>.
[2] Bundonis, Joanne, “Benefits of Early Mobility with an Emphasis on Gait Training,” 2009, accessed 27 January 2013, <http://www.rifton.com/adaptive-mobility-blog/benefits-of-early-mobility-with-an-emphasis-on-gait-training/>.
[3] Rifton Pacer Gait Trainers, 2013, accessed 27 January 2013, <http://www.rifton.com/products/mobility/pacergaittrainers/>


US: China harassing families of Uighur activists in Xinjiang
US Secretary of State Mike Pompeo cites several individuals whose families were directly impacted by China's clampdown.
The United States remains deeply troubled by multiple reports that the Chinese government has "harassed, imprisoned, or arbitrarily detained" family members of Uighur Muslim activists and survivors of Xinjiang internment camps who have made their stories public, US Secretary of State Mike Pompeo said on Tuesday.
"In some cases, these abuses occurred shortly after meetings with senior State Department officials," Pompeo said in a statement, reiterating Washington's call for Beijing to release those detained.
China has been widely condemned for setting up complexes in remote Xinjiang that it describes as "vocational training centres" to stamp out "hardline groups" and give people new skills.
The United Nations says at least one million ethnic Uighurs and other Muslims have been detained.
More:
China has denied any mistreatment of Uighurs,and insists Xinjiang is its internal affair.
Any escalation of tensions between Beijing and Washington worries investors as the world's two largest economies are also embroiled in a 15-month old trade war.
Beijing also views US support for pro-democracy protests in Hong Kong as interfering with its sovereignty.
In his statement, Pompeo referred to several individuals whose families he said were directly impacted by the Chinese government's treatment of Uighurs, including Zumrat Dawut, who was one of the speakers at an event in New York on the sidelines of United Nations General Assembly in September.
Dawut had spoken on how she was detained by Chinese authorities earlier this year and was kept in a camp.
"Most recently, Ms Dawut learned her elderly father, who was reportedly detained and interrogated multiple times by Chinese authorities in Xinjiang in recent years, recently passed away under unknown circumstances," Pompeo said.
The US government last month widened its trade blacklist to include some of China's top artificial intelligence start-ups and announced visa restrictions on Chinese government and Communist Party officials it believes responsible for the detention or abuse of Muslim minorities in Xinjiang region.
"We once again call on Beijing to cease all harassment of Uighurs living outside of China ... and to allow families to communicate freely without repercussions," Pompeo said.


This is a heading
This paragraph comes after the heading.
This is the second paragraph.
Another heading
This paragraph comes after the heading.
One
Two
2.1
2.2
Three


Lennart Molin
Interaction design (in the graphical sense) having a human inside a medical robotic device figuring out how to respond to clicks. Describes the nature of the design sessions using various wizard of oz strategies.
wizard of oz


Test of contentStack Menu with an accordion type styling. No server-side state saving of which pane is open (yet) as not sure this is required Making assumption that all menu content is static so client="true' and no server round trip is done unless one of the menu items is selected


My name is Adegboyega Elisha,I'm popularly called Jaybee. I'm currently in Part 3 of the department of Linguistics and African Languages in the Faculty of Arts. I really love coding so much,I feel priviledged to know about it. I love reading books that teach about growth, I'm always ready to learn, I'm approachable,jovial and love communications especially with strangers though I could be shy at first.