Python Basics I
28 Sep 2018Chapter 1 - Python Basics I
Python is an intuitive language
Python is very intuitive, compared to other programming languages. This is why people say that it is easy to learn for beginners.
Let’s look at the example below
x = 3
if x ==3: print("correct")
correct
Just by reading this code, most people can catch what this code is saying.
The first line says that “x” equals to 3 The second line says that if “x” equals to 3, print the word “correct”
Pretty easy eh?
Code Comments
Code comment is used for explanation from developers. They are ignored during code execution. Code comments can be made after a hashtag. For more multiple code comments, use of three quotations are used. Below is an example
# This is a comment
# The comment section is ignored during the code execution
The multiline comments do not perform anythin,
"""
This is a multi-line comment. It is a special type of string called, Doc-string.
Normally, they are used for detailed explanation of codes, or long comments
"""
'\nThis is a multi-line comment. It is a special type of string called, Doc-string.\nNormally, they are used for detailed explanation of codes, or long comments\n'
Data Types
When you learn English, alphabet is the fundamental unit of knowledge. Python is also a programming “language”. Importance of data types are equivalent to knowing the alphabets.
These are main data types of python:
- Numbers
- Strings
- Boolean
- Lists
- Tuples
- Dictionary
- Set
Let’s cover these data types one by one
Numbers
Numbers include integers, floating numbers and complex numbers. If you have done your mathematics, these terms should be familiar. Also, there are octal and hexadecimal numbers which are not frequently used in general python programming.
- integers –> int
- floating number –> float
- complex number –> complex
Let’s look at them one by one
Integer
# Integer
## Integer is a real number.
#It is a round number with no values after decimal point
x = 50
print(x) # Simple line that orders to show (print) x
type(x) # This shows what the data type of x is
50
int
Variables are assigned by using a single equation sign “=”. They are case sensitive, but using similar variables are not recommended in a complex coding, due to confusion and readability
one = 3
One = 6
print(one, One)
3 6
Float
# Floating Point
# Floating point is a name for a real number.
# It may have numbers after the decimal point
y = 1.4
z = 4.0
print(y)
print(z)
# you can use int() function to make float to integer
print(int(y))
print(int(z))
#You can use float() function to force a number to be considered as a float
my_int = 3
print(type(my_int))
my_int2 = float(3)
print(type(my_int2))
1.4
4.0
1
4
<class 'int'>
<class 'float'>
Complex
# Complex
# Complex is a complex number.
# It is a number that can be expressed in the form of a + bi
# a, b are real numbers while i is the solution of x^2= -1
x = complex(2,4)
y = complex(1,5)
print(x,y, x + y)
(2+4j) (1+5j) (3+9j)
Basic Math
Python has a number of built-in math functions. These can be extended even further by importing the math package or by including any number of other calculation-based packages.
All of the basic arithmetic operations are supported: +, -, /, and . You can create exponents by using * and modular arithmetic is introduced with the mod operator, %.
print ('Addition: ', 2 + 2)
print ('Subtraction: ', 7 - 4)
print ('Multiplication: ', 2 * 5)
print ('Division: ', 10 / 2)
print ('Exponentiation: ', 3**2)
print ('Modulo: ', 15 % 4) # remainder
Addition: 4
Subtraction: 3
Multiplication: 10
Division: 5.0
Exponentiation: 9
Modulo: 3
This also works on variables
first_integer = 4
second_integer = 5
print (first_integer * second_integer)
x = 3
x - 2
20
1
first_integer = 11
second_integer = 3
print (first_integer / second_integer)
3.6666666666666665
Python’s built-in math functions
- abs()
- round()
- max()
- min()
- sum()
These functions all act as you would expect, given their names. Calling abs() on a number will return its absolute value. The round() function will round a number to a specified number of the decimal points (the default is 00 ). Calling max() or min() on a collection of numbers will return, respectively, the maximum or minimum value in the collection. Calling sum() on a collection of numbers will add them all up. If you’re not familiar with how collections of values in Python work, don’t worry! We will cover collections in-depth in the next section.
Strings
string is a data type that lets you include text as a variable. They are defined using single quotes or double quotes
Both are allowed so that we can include apostrophes or quotation marks in a string if we so choose.
You may use \ to include apostrophes or quotation marks into the string
say_hello = "Hello. My name is python"
print(say_hello)
say_bye = 'Bye. It was nice to meet you'
print(say_bye)
my_string = '"Jabberwocky", by Lewis Carroll'
print (my_string)
my_string = "'Twas brillig, and the slithy toves / Did gyre and gimble in the wabe;"
print (my_string)
alt_string = 'He said, \'this is ridiculous.\''
print(alt_string)
Hello. My name is python
Bye. It was nice to meet you
"Jabberwocky", by Lewis Carroll
'Twas brillig, and the slithy toves / Did gyre and gimble in the wabe;
He said, 'this is ridiculous.'
Calculation in Strings
# Addition
first_name = "Harry"
last_name = "Potter"
first_name + last_name
'HarryPotter'
# Multiplication
twice = "likey"
twice*2
'likeylikey'
# Usage
print("="*40)
print("Oh Yeah")
print("="*40)
========================================
Oh Yeah
========================================
Indexing and Slicing
sentence = "wingardium leviosa"
# Python starts from 0
print(sentence[4])
print(sentence[0])
print(sentence[-2])
a
w
s
# Usage
print( sentence[11] + sentence[15] + sentence[13] + sentence[12])
# sentence[0:4] --> 0<= sentence < 4
print( sentence[0:4])
love
wing
# Changing string by indexing
a = "League of Leg nd"
print(a)
# You cannot change string or tuple. These are called imutable data types
a[-3] = "e"
print(a)
League of Leg nd
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-56-e0f9681d392f> in <module>()
4
5 # You cannot change string or tuple. These are called imutable data types
----> 6 a[-3] = "e"
7 print(a)
TypeError: 'str' object does not support item assignment
correct = a[:7] + a[7:-3] + "e" + a[-2:]
print(correct)
League of Legend
Formatting Strings
Using the format() method we can add in variable values and generally format our strings.
my_string = "{0} {1}".format('Marco', 'Polo')
print( my_string)
my_string = "{1} {0}".format('Marco', 'Polo')
print (my_string)
Marco Polo
Polo Marco
We use braces ({}) to indicate parts of the string that will be filled in later and we use the arguments of the format() function to provide the values to substitute. The numbers within the braces indicate the index of the value in the format() arguments
print ('insert %s here' % 'value')
insert value here
The % symbol basically cues Python to create a placeholder. Whatever character follows the % (in the string) indicates what sort of type the value put into the placeholder will have. This character is called a conversion type. Once the string has been closed, we need another % that will be followed by the values to insert. In the case of one value, you can just put it there. If you are inserting more than one value, they must be enclosed in a tuple.
print ('There are %s cats in my %s' % (13, 'apartment'))
There are 13 cats in my apartment
Functions related to strings
- count()
- find()
- index()
- join()
- upper() / lower()
- lstrip() / rstrip()
- replace()
- split()
# Returns the number of character in the string
a = "Python is fun"
a.count("n")
2
# Returns the value of first position. If does not exist, return -1
print(a.find("n"))
print(a.find("k"))
5
-1
# Returns the index number
print(a.index("s"))
8
# Insert string a between 1 and 2
print(a.join("12"))
1Python is fun2
# Change the characters to uppercase or lowercase
print(a.upper(), a.lower())
PYTHON IS FUN python is fun
# Deleting spaces in the left of right side of the string
b = " I have lots of space "
print(b.lstrip())
print(b.rstrip())
# Deleting spaces in both side of string
print(b.strip())
I have lots of space
I have lots of space
I have lots of space
# Replace
a.replace("fun","horrible")
'Python is horrible'
# Slicing
print(a.split())
# Another example
k = "I/do/not/like/your/shirt"
print(k.split("/"))
print(k.split("t"))
['Python', 'is', 'fun']
['I', 'do', 'not', 'like', 'your', 'shirt']
['I/do/no', '/like/your/shir', '']
Encoding
Normal strings in python are stored internally as 8-bit (= 1byte) ASCII. On the other hand, unicode uses 16-bit system (= 2byte) and it can store a more varied set of characters.
Chinese characters and Korean characters cannot be represented in ASCII code.
UTF-8 strings are stored as 8 bit (= 1byte) just like ASCII, but it works as an extension of ASCII. It can express Korean also.
Frequent errors that you can encounter
a = "안녕"
b = a.encode("utf-8")
print(b)
c = b.decode("utf-8")
print(a)
b'\xec\x95\x88\xeb\x85\x95'
안녕
str – encode () –> bytes – decode() –> str
Boolean
Boolean is related to logical operators, and takes one of two values only: True or False (True = 1, False = 0)
Default Boolean values follows:
| Values | True of False |
|---|---|
| “python” | True |
| ”” | False |
| [] | False |
| {} | False |
| () | False |
| 0 | False |
| 1 | True |
| [1,2,3] | True |
| None | False |
Mostly, empty list,tuple,dictionaries are False. If not, they are True. In terms of numbers, 0 is False while 1 is true.
print(0 == 5)
False
and (&) , or ( | ), not
# And
print(True & True) # True and True
print(True & False) # True and False
print(False & False) # False and False
print("="*30)
# Or
print(True | True) # True or True
print(True | False) # True or False
print(False | False) # False or False
print("="*30)
# Not
print(not True)
print(not False)
True
False
False
==============================
True
True
False
==============================
False
True
Lists
List is an ordered collection of objects that can contain any data type. List can be defined using brackets [ ]
eiffel_tower = ["Paris","France","1889",300.65, 324]
We can access and index the list by using brackets as well. In order to select an individual element, simply type the list name followed by the index of the item you are looking for in braces.
eiffel_tower[3]
300.65
Indexing in Python starts from 00 . If you have a list of length nn , the first element of the list is at index 00 , the second element is at index 11 , and so on and so forth. The final element of the list will be at index n−1n−1 . Be careful! Trying to access a non-existent index will cause an error.
We can see the number of elements in a list by calling the len() function
print(len(eiffel_tower))
5
we can update and change list by accessing an index. List is mutable unlike strings meaning you can change them. However, once a string or other immutable data type has been created, it cannot be directly modified without creating an entirely new object.
print(eiffel_tower[4])
eiffel_tower[4] = 320
print(eiffel_tower[4])
324
320
If you want to put two lists together, they can be combined with a + symbol.
# You can put list in a list!
list1 = ["i", 3, 4.30, [1,2,"harry"], "you"]
list2 = ["hello",4.5, 3.0]
list3 = list1 + list2
print(list3)
['i', 3, 4.3, [1, 2, 'harry'], 'you', 'hello', 4.5, 3.0]
Indexing and Slicing
Lists have similar mechanism of indexing and slicing just as strings do
starwars = ["may","the","Force","be","with","you"]
print(starwars[2:4])
print(starwars[1:])
print(starwars[:3])
['Force', 'be']
['the', 'Force', 'be', 'with', 'you']
['may', 'the', 'Force']
['may', 'the', 'Force', 'be', 'with', 'you']
You can also add a third component to slicing. Instead of simply indicating the first and final parts of your slice, you can specify the step size that you want to take. So instead of taking every single element, you can take every other element.
confusing = ["may",1,"the",2,"Force",3,"be",4,"with",5,"you"]
print(confusing[0:10:2])
print(confusing[::2])
print(confusing[::-1])
print(confusing[::-2])
['may', 'the', 'Force', 'be', 'with']
['may', 'the', 'Force', 'be', 'with', 'you']
['you', 5, 'with', 4, 'be', 3, 'Force', 2, 'the', 1, 'may']
['you', 'with', 'be', 'Force', 'the', 'may']
Functions related with lists
- append
- sort
- reverse
- index
- insert
- remove
- pop
- count
- extend
# append
a = [1,2,3]
a.append(4)
a
[1, 2, 3, 4]
# sort
a = [2,5,3,4,7,1,3]
a.sort()
print(a)
b = ["c","d","b","w","f","r"]
b.sort()
print(b)
[1, 2, 3, 3, 4, 5, 7]
['b', 'c', 'd', 'f', 'r', 'w']
c = [6,4,8,"e",3,"b","c"]
# This does not work
c.sort()
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-122-ff5aa901bedc> in <module>()
1 c = [6,4,8,"e",3,"b","c"]
2 # This does not work
----> 3 c.sort()
TypeError: unorderable types: str() < int()
a = ["a","c","b"]
a.reverse()
a
['b', 'c', 'a']
a = [1,5,3,7]
a.insert(3,6)
a
[1, 5, 3, 6, 7]
a = [1,2,3,4,5,6,7]
a.remove(5)
a
[1, 2, 3, 4, 6, 7]
a = [1,4,6]
a.pop()
a
[1, 4]
a = [1,4,7,3,5,6,"d"]
a.count("d")
1
a = [1,2,3,4,5]
a.extend(["d","5","d",5])
a
[1, 2, 3, 4, 5, 'd', '5', 'd', 5]
Tuple
Tuple is similar to list. The difference between tuple and list is that tuple is immutable. The data cannot be changed once it has been generated.
t1 = ()
# When tuple only has one value, comma must be follwed
t2 = (1,)
t3 = (1)
print(type(t2), type(t3))
# When assigning variable with tuple, brackets can be skipped
t4 = (1,2,3)
t5 = 1,2,3
print(type(t4), type(t5))
<class 'tuple'> <class 'int'>
<class 'tuple'> <class 'tuple'>
Tuple indexing and slicing is similar to list
tup = (1,4,7,4,"d","d2",2,"4")
print(tup[4])
print(tup[2:])
d
(7, 4, 'd', 'd2', 2, '4')
Tuple addition and multiplication
tuple1 = (1,2,5)
tuple2 = (4,6,7)
tuple3 = tuple1 + tuple2
print(tuple3)
print(tuple2*4)
(1, 2, 5, 4, 6, 7)
(4, 6, 7, 4, 6, 7, 4, 6, 7, 4, 6, 7)
Dictionary
Dictionary is an important data structure in python. Dictionaries are defined with a combination of curly braces {} and colons : The braces define the beginning and end of a dictionary and the colons indicate key-value pairs. A dictionary is essentially a set of key-value pairs. The key of any entry must be an immutable data type. This makes both strings and tuples candidates. Keys can be both added and deleted.
In the following example, we have a dictionary composed of key-value pairs where the key is a genre of fiction (string) and the value is a list of books (list) within that genre. Since a collection is still considered a single entity, we can use one to collect multiple variables or values into one key-value pair.
Dictionary Example
| Key | Value |
|---|---|
| name | Jake |
| phone |<PHONE_NUMBER>1 |
| birth | 19941125 |
Personal_Info = {"name":"Jake",
"phone":"01055999411",
"birth":"19941125"}
Dictionary Usage & Manipulation
Idols = {"Twice": ["Jihyo","Nayeon","Jungyeon","Momo","Sana","Mina","Dahyun","Chaeyoung","Tzuyu"],
"Blackpink": ["Jisu","Jennie","Rose","Lisa"],
"Bigbang": ["GD","TOP","Taeyang","Daesung","Seungri"],
"BTS": ["RM","Suga","Jin","J-Hope","Jimin","V","Jungkook"]}
After defining a dictionary, we can access any values by indicating its key in brackets
# Using Key to retrieve values
print(Idols["BTS"])
print(Idols["Twice"])
['RM', 'Suga', 'Jin', 'J-Hope', 'Jimin', 'V', 'Jungkook']
['Jihyo', 'Nayeon', 'Jungyeon', 'Momo', 'Sana', 'Mina', 'Dahyun', 'Chaeyoung', 'Tzuyu']
Dictionary can be changed by the value associated with a given key
Idols["Bigbang"] = ["GD","Top","Daesung","Taeyang"]
print(Idols["Bigbang"])
['GD', 'Top', 'Daesung', 'Taeyang']
Cautions when making dictionary
Dictionary Key is a unique value. This means that same key cannot be used again. Also, list cannot be used in the key. This will cause error
# key cannot be used again (there are two "5"s in the key)
xdict = {5:"a", 5:"b"}
xdict # only returns 5:"b"
{5: 'b'}
Dictionary related functions
- keys
- values
- items
- clear
- get
- in
# Retrieve only "keys" from the dictionary
Idols.keys()
dict_keys(['BTS', 'Twice', 'Bigbang', 'Blackpink'])
# Retrieve only "values" from the dictionary
Idols.values()
dict_values([['RM', 'Suga', 'Jin', 'J-Hope', 'Jimin', 'V', 'Jungkook'], ['Jihyo', 'Nayeon', 'Jungyeon', 'Momo', 'Sana', 'Mina', 'Dahyun', 'Chaeyoung', 'Tzuyu'], ['GD', 'Top', 'Daesung', 'Taeyang'], ['Jisu', 'Jennie', 'Rose', 'Lisa']])
# Retrieve "keys" and "values" pairs from the dictionary
Idols.items()
dict_items([('BTS', ['RM', 'Suga', 'Jin', 'J-Hope', 'Jimin', 'V', 'Jungkook']), ('Twice', ['Jihyo', 'Nayeon', 'Jungyeon', 'Momo', 'Sana', 'Mina', 'Dahyun', 'Chaeyoung', 'Tzuyu']), ('Bigbang', ['GD', 'Top', 'Daesung', 'Taeyang']), ('Blackpink', ['Jisu', 'Jennie', 'Rose', 'Lisa'])])
# Delete everything in the dictionary
Personal_Info.clear()
Personal_Info
{}
# Getting values with key
Idols.get("Blackpink")
['Jisu', 'Jennie', 'Rose', 'Lisa']
# Checking if key is in dictionary
"BtoB" in Idols
False
"Bigbang" in Idols
True
Set
Set is made with set() function. Set does not allow repetitive values, and it is unordered.
s1 = set([1,2,3])
s2 = set("This is set")
print(s1, s2)
{1, 2, 3} {'i', 'h', 'T', 't', 's', ' ', 'e'}
Because set does not have orders, it cannot be indexed nor sliced. In order to perform this, they have to be converted to tuples or lists.
l2 = list(s2)
print(l2)
print(l2[4])
['i', 'h', 'T', 't', 's', ' ', 'e']
s
Set is useful when calculating intersection and union
a = set([1,2,5,7,8,9])
b = set([2,6,3,8,4])
# Intersection
print(a & b)
print(a.intersection(b))
# union
print( a | b)
print(a.union(b))
# subtraction
print( a - b)
print( a.difference(b))
{8, 2}
{8, 2}
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 2, 3, 4, 5, 6, 7, 8, 9}
{1, 5, 9, 7}
{1, 5, 9, 7}
Set related functions
- add
- update
- remove
# Adding a value
s1 = set([1,4,6,7])
s1.add(9)
print(s1)
{1, 4, 9, 6, 7}
# Adding multiple values
s2 = set([5,8,3])
s2.update([1,4,5,6])
print(s2)
{1, 3, 4, 5, 6, 8}
# Removing a value
s3 = set([2,5,8,1])
s3.remove(2)
print(s3)
{8, 1, 5}


--- layout: documentation title: EnvironmentVariableType ---
The EnvironmentVariableType type is used for representing environment variables using a name/value pair.
| Field Name | Type | Description |
|---|---|---|
| Name1..1 | StringObjectPropertyType |
The Name field specifies the name of the environment variable. |
| Value0..1 | StringObjectPropertyType |
The Value field specifies the value of the environment variable. |


Good job, FIRSTNAME.  Keep up the good work, and I am sure you will have a successful career here at AlethiCorp.
Sorry for not mentioning you in my press statement, but that's how these things go. The people on top always get the credit. Don't worry, we all recognize the value of your contribution. If it hadn't been for your recommendations, I doubt we could have made the case against these people stick.
In recognition of your success, I give you this train. Like the train, you have stayed on the tracks to success, carrying the cargo of chutzpah. If you can avoid going off the rails in the future, you will have a great career ahead of you.
Speaking of your career, I have given you access to the myCareer section. When you have finished reading your mail, you can start planning your future career :). Have fun!
Sandra Silvern
Managing Consultant / Haka Manager


[gecode-users] "nvalues" global constraint
Guido Tack
tack at ps.uni-sb.de
Thu Jan 17 17:08:53 CET 2008
Jérémie Vautard wrote:
> Is there an implementation of the nvalues global constraint in
> Gecode ? (This constraint is used to specify the number of different
> values in an array of variables, and described in the Global
> constraint catalog here : http://www.emn.fr/x-info/sdemasse/gccat/
> sec5.186.html )
No, we don't have it yet. You can emulate it using set constraints.
Here's the pseudo code:
IntVarArgs x;
SetVar y;
IntVar n;
rel(home, SOT_UNION, x, y);
cardinality(home, y, n);
The variable n is now equal to the number of different values in x.
If the number of values is fixed, you can of course use a constant
cardinality for y instead. This decomposition certainly doesn't
achieve domain consistency, but it should work.
Cheers,
Guido
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2436 bytes
Desc: not available
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20080117/799a36ba/attachment.bin>
More information about the gecode-users
mailing list


--- layout: default ---
Enigma6 is a team that this rostermania has just changed their roster, because of this they do not have a team picture.
| Name: | Jordon "General" General |
Bradley "Frosty" Bergstrom |
Eric "JetLi" Phan |
Matthew "KISMET" Tinsley |
Steven "GodRx" Rivero |
Troy "Sender" Michaels |
| Born: | Unknown | October 12, 1997 | March 30 | November 11, 1999 | Unknown | Unknown |
| From: | United States | United States | United States | United States | United States | United States |
| Role | Main AR | AR Slayer | SMG Support | SMG Slayer | Flex | Coach |


Welcome to LowChat, the hyper-simple chatting platform. It's super easy to use this logless chatting
platform.
^500 To join a room or create a new one, just add "/[room]/[username]" to the end of the current
url!
^500 You
can also share a room by copying the url while in a room (minus the "/[user]" part)
^500 You can also just
type in a room name and hit enter to create/join a room.


Dear Parents,
Thank you for inquiring about our Preschool….
Our Little Wonderz Preschool offers a child friendly curriculum with the bright, creative and safe environment for your child, it’s a preschool like home, near home for your little ones.
Our classrooms are organized to take advantage of a young child’s innate curiosity, stimulating active learning. Each room is arranged with a variety of age-appropriate materials that give the child ample opportunities to learn, to explore, to discover and to grow at their own pace. They are encouraged to test ideas, to learn how to be resourceful and to experience the joy and satisfaction of a well-earned achievement, while learning to appreciate the rights, needs and abilities of others.
Our well trained staff assists, guides and encourages each child according to his/her individual interests and present level of development.
 For more details you can log on to www.little –wonders.in.
Thanking you,
Centre Head
Our Little Wonderz
|


Judges 3:23
Then Ehud went forth through the porch, and shut the doors of the parlor upon him, and locked them.


Class
LoopReverseHelper for reverse loops.
Helper for reverse loops.
| Defined in | <seqan/basic.h> |
|---|---|
| Signature |
template <typename TWorker, unsigned COUNT>
struct LoopReverse;
|
Template Parameters
TWorker |
A struct with a static inline void function called body. body should have two parameters, one for passing in values and state from the outside and the second is an int. The function will be called COUNT times with the same reference for the first one and the values COUNT, COUNT - 1, ..., 1 for the second parameter. |
|---|---|
COUNT |
An int constant. |
Member Function Overview
-
LoopReverse::run(arg, i);
Run the loop body.
Detailed Description
Example
We define the following worker to print an integer. The first argument is of Nothing as a dummy. Note that the parameter is not const.
struct PrintWorker { static inline void body(Nothing & arg, int I) { (void)arg; // ignored printf("%d\n", I); } };
Snippet from: demos/dox/basic/metaprogramming_control.cpp
The following shows an example calling PrintWorker::body() through LoopReverse. We have to create a local variable since the first parameter is not const. The reason for this is that the parameter can also be used for a mutable object that holds some state.
Nothing nothing; Loop<PrintWorker, 10>::run(nothing); // This will print the numbers 1, 2, ..., 9, 10.
Snippet from: demos/dox/basic/metaprogramming_control.cpp
See Also
Member Functions Detail
LoopReverse::run(arg, i);
Run the loop body.
Parameters
arg
|
The argument to pass to the worker's body() function. |
|---|---|
i
|
The int passed to the body() function. |
Data Races
Thread safety unknown!


This is where a survey description should go.
Choice 1
Choice 2
Male
Female
Non-Binary
Choose Not To Answer


Polly - Sleeping Stitch
I born in Hong Kong.
I Love to Eat and Sleep.
Email:
my_gmail.com
Github:
my_github
Twitter:
coming soon
Books
Movies
Games
Harry Potter
The Avengers
Fantacy
One Piece
Spiderman
MarioSmash
Fairy Tale
Iron Man
Overcooked


Cross-site-scripting, or XSS as it is sometimes abbreviated to, is an attack that let's the attacker execute javascript code in the browser of the victim. A cross site scripting attack is typically done with a specially crafted URI that an attacker provides to their victim. In the case of a XSS attack, it allows the attacker to display arbitrary information, and suppress the display of the original webpage.
Types of XSS
Persistent
This is when the malicious code originates from the websites database or a stored value. That means the attacker has managed to insert malicious code into the database. So every time the database serve that data the script will me executed.
Reflected
This is an attack where the script originates from the users request. This is the easiest type of XSS to detect as the payload or user-entered string is reflected back to the attacker.
DOM based
DOM-based attacks are when something is injected into javascript on the DOM. So, it does not go by the server. Because the code gets executed in the response. Take a search-functionality for example. The users enters a search-parameter that gets sent to the server which might sanitize it. In the response the found search-items are sent, but not the search-query. But on the webpage the search query is exposed. "You searched for X" is shown. That is because it gets the search parameter from the url-parameter. By using document.location.href for example.
XSS Payload Scheme
Here is our final scheme* (colored for easier visualization):
extra1 <tag spacer1 extra2 spacer2 handler spacer3 = spacer4 code spacer5> extra3
Variation:
extra1 <tag spacer1 handler spacer3 = spacer4 code spacer5 extra2> extra3 (without spacer2)
Except for the first one, all spacers are optional and usually used for filter evasion. This is also the scheme used by the webGun XSS payload building tool.
Understanding Code Insertion
To date, security professions have discovered an ever increasing number of methods for potentially embedding code within poorly configured web applications. The following are some of the more common methods for doing so.
Inline Scripting
http://trusted.org/search.cgi?criteria=
http://trusted.org/search.cgi?val=
http://trusted.org/COM2.IMG%20src= "Javascript:alert(document.domain)"
Forced Error Responses
http://trusted.org/
This insertion facet usually occurs due to poor error handling by the web server or application component. The application fails to find the requested page and reports an error which unfortunately includes the unprocessed script data.
http://trusted.org/search.cgi?blahblahblahblahblah
If a Java application such as a servlet fails to handle an error gracefully, and allows stack traces to be sent to the users browser, an attacker can construct a URL that will throw an exception and add his malicious script to the end of the request.
http://trusted.og/servlet/ org.apache.catalina.servlets.WebdavStatus/
In the example above, when the Tomcat servlet is called with the training illegitimate request, an error page is served containing the offending text verbatim.
Non

click-me
Insertion Example
Dynamic URL Generation
Consider an application built for running on Microsoft’s Internet Information Server (IIS) web server platform. Dynamic content is delivered through IIS’s Active Server Pages (ASP).
Within the sample page, a dynamically built HTML tag for refining search parameters is constructed as follows:
click-me
and the ASP code required to generate a further query based upon this submitted information is:
<%
var BaserUrl = "http://trusted.org/search2.asp?
searchagain=";Response.Write("click-me" )
%>
If the attacker was to replace the “SomeString” with their own code, as indicated next:
FooBar
The likely result found in the dynamically generated ASP page will be:
click-me
In this case, the attacker has added to the HTML page code, and used the DOM of the HTML page to redirect data in some form to the attacker’s web site.


Choose the credentials you want to use to sign the app. If no credentials are listed, or if you need to add different credentials, see Managing Signing Credentials.
Remember, when you re-sign an iOS or Android app that was already installed on any of your users' devices, it is important that you sign it with the same signing credentials used to previously sign it.


Integrated info from the registrar timetables, ORC, median data, course guide, and so much more.
Turn a list of names, nicknames, or out-of-date emails into a list of emails.
The fastest way to find someone's email address.
We build cool apps for the Dartmouth community.
Hack on projects, meet new people, bring your ideas.
Learn web dev from the ground up. No experience required.


B4 Daily Task List
Simply click the finish button when you complete a prep item.
Do not refresh the page if you do not want to lose progress.
If you accidentally press a button & a prep task is not actually finished, you can click the button again to go back.


Projects will have various labels throughout the site that help denote different aspects of the project.
Abandoned (A)
This project has been abandoned; It is no longer maintained
This project has one or more demos available
This project is inaccessible. It's code/assests have been erased from existence or are unavilable to the public
This project has existed for a while and has very sparse updates (if any)
Partially Abandoned (P)
This project contains some code that is no longer maintained
This is an umbrella project that contains sub-projects
This project is a work in progress; Demos and builds may not be completely stable


ccsmsgate.cgi
Controller for smsgateway transactions
Hugh Barnard
(c) Hugh Barnard 2005-2014 GPL Licenced
#!/usr/bin/perl my $test = 0; if ($test) { print STDOUT "Content-Type: text/html; charset=utf-8\n\n"; my $data = join( '', <DATA> ); eval $data; if ($@) { print "
Syntax error!
\n
\n"; print $@; print "
\n"; exit; } } ###__END__ #--------------------------------------------------------------------------- #THE cclite SOFTWARE IS PROVIDED TO YOU "AS IS," AND WE MAKE NO EXPRESS #OR IMPLIED WARRANTIES WHATSOEVER WITH RESPECT TO ITS FUNCTIONALITY, #OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, #ANY IMPLIED WARRANTIES OF MERCHANTABILITY, #FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. #WE EXPRESSLY DISCLAIM ANY LIABILITY WHATSOEVER FOR ANY DIRECT, #INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, #INCLUDING, WITHOUT LIMITATION, LOST REVENUES, LOST PROFITS, #LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA, #REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER #WHICH THE LIABILITY MAY BE ASSERTED, #EVEN IF ADVISED OF THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES. #---------------------------------------------------------------------------
use lib '../../lib'; use strict; use locale; use HTML::SimpleTemplate; # templating for HTML use Ccu; # utilities + config + multilingual messages use Cccookie; # use the cookie module use Ccvalidate; # use the validation and javascript routines use Cclite; # use the main motor use Ccsecure; # security and hashing use Cclitedb; # this probably should be delegated use Ccconfiguration; # new way of doing configuration use Data::Dumper; print "Content-Type: text/html; charset=utf-8\n\n"; # please de-comment to suit interface, only Cardboardfish has been heavily # tested recently as of August 2010 # Textmarketer tested heavily with added functions May 2012 # # Gammu extended and tested February 2014, in general, this will be preferred # now because it removes dependency on http style commercial sms services # towards a more autonomous 'bank in a box' model use Ccsms::Textmarketer; my $type = 'txt'; #use Ccsms::Cardboardfish; #my $type = 'car'; #use Ccsms::Aql; #my $type = 'aql' ; #use Ccsms::Gammu; #my $type = 'gam' ; # end of interface choices #-------------------------------------------------------------- $ENV{IFS} = " "; # modest security our %configuration = readconfiguration(); our $configurationref = \%configuration; our %sms_configuration = readconfiguration('../../config/readsms.cf'); my $debug = $sms_configuration{'debug'}; # set debug level my ( $fieldsref, $refresh, $metarefresh, $error, $html, $token, $db, $cookies, $templatename, $registry_private_value, $return_value ); # for the moment my $cookieref = get_cookie(); my %fields = cgiparse(); my @message_hash_refs; # this should use the version modules, but that makes life more # complex for intermediate users $fields{version} = "0.9.1"; # parse incoming fields the cardboardfish way...may give multiple messages my ( $status, $originator, $destination, $dcs, $datetime, $udh, $message ); if ( $type eq 'car' ) { (@message_hash_refs) = convert_cardboardfish( $fields{'INCOMING'} ); } # this is part of conversion to transaction engine use. web mode, which # is the default will deliver html etc. engine mode will deliver data # as hash references, for example. There are quite a few things called 'mode' # in Cclite.pm, needs sorting out. $fields{mode} = 'html'; # this is the remote address from the client. It acts as a simple check in a direct # pay transaction from the REST interface. This is obviously not sufficient and # will get upgraded in the future $fields{client_ip} = $ENV{REMOTE_ADDR}; #--------------------------------------------------------------------------- # ( $fields{home}, $fields{domain} ) = get_server_details(); # this is in Ccsecure, may need extra measures $fields{initialPaymentStatus} = $configuration{initialpaymentstatus}; $fields{systemMailAddress} = $configuration{systemmailaddress}; $fields{systemMailReplyAddress} = $configuration{systemmailreplyaddress}; #-------------------------------------------------------------------- # This is the token that is to be carried everywhere, preventing # session hijack etc. It's probably going to be a GnuPg public key # anyway it's a public key of some kind related to the cclite installations # private key, not transmitted and protected by passphrase # $token = $registry_private_value = $configuration{registrypublickey}; # for the moment, calculated later if ( $type eq 'car' ) { # possible multiple messages loop to process foreach my $message_hash_ref (@message_hash_refs) { $fields{'status'} = $message_hash_ref->{'status'}; $fields{'originator'} = $message_hash_ref->{'originator'}; $fields{'datetime'} = $message_hash_ref->{'datetime'}; $fields{'message'} = $message_hash_ref->{'message'}; my $fieldsref = \%fields; $return_value = gateway_sms_transaction( 'local', $configurationref, $fieldsref, $token ); } } else { # Aql, Textmarketer and gammu single messages... my $fieldsref = \%fields; $return_value = gateway_sms_transaction( 'local', $configurationref, $fieldsref, $token ); debug( "rv after gateway is $return_value", undef ); } # mobile number + raw string # this is mainly to make Selenium etc. work... print "running $return_value
"; exit 0;


{% extends "layout_with_help.html" %} {% block pageTitle %} NRS Diagnostic Prototype {% endblock %} {% block header %} {{ govukHeader() }} {% endblock %} {% block beforeContent %}
{% endblock %} {% block content %}Tell us which job you are aiming for so you can work on developing the required skills.


2-Factor Authentication
Login to Account
2-Factor Authentication
Authentication successful.
Logout
2-Factor Authentication
Authenticate through your Android/iOS device.
Logout


--- title: MailChimp's Project Omnivore -- Declassified layout: post ---
In late 2008, MailChimp Labs began Project Omnivore. Our goal was to build a massively scalable tool for our abuse team that could predict bad behavior.
The experiment started with an nVidia Tesla supercomputer, then grew to a cluster of Amazon EC2 servers running a genetic optimization program for 2 weeks nonstop, running over 61 trillion email data comparisons.
Really cool use of GA technology.


My website will display the various content of my friend and photographer, Elle Fitzgibbons. Elle has worked with many different models and collaborators when creating her content and I would like to display those effectively for her. I plan to link to her other various social media accounts and to link her social media accounts back to this website. It will display the progression of her work, as well as the various types of photography styles she excels in. Additionally, I will show ways in which to patronize her work (by setting up an appointment, etc).
The website will display several sections of work, including: Fashion, Lifestyle and Beauty, tentatively. Theoretically, this website will promote Elle’s work and potentially bring in more revenue for her. The target demographic will be potential modeling clients as well as those seeking a photographer for their wedding/event. Websites of other photographers in the St. Louis area include: Nathan Parker and ADM Photography
In addition to the class website, I utilized the help of a friend who is a computing professional as well as various websites and content, including: developers.google.com and this photography website blog. Along with understanding how websites can have the best code (thanks to the open source community and many free resources) I also found a lot of insight from reading the various websites of other photographers and seeing the ways in which they were able to best display their photography without overwhelming the viewer with content. Many websites for other photographers exist and maintaining site interaction is arguably one of the most important aspects of building a website. It is not enough to get someone onto your site; you must be able to keep them there and, in the best scenario, gain site interaction (setting up appointments, getting comments, sharing of the website, etc).
Tentatively, I’m going to use this template. It is responsive, but is more complex than the standard 12-column type of responsive web design we covered in class. Lens Template
My website will tentatively have between 4-6 pages (depending on how many categories Elle decides on). Each page will have different functionality. The home page will contain links to all social media platforms her work will be on. The content pages will display various models and scene types. Another page will offer pricing for various types of sessions, as well as link to a google doc (or something of the sort) to aid Elle in scheduling appointments. I will use a template, more than likely, and modify it. This will be something that Elle will hopefully actually utilize, and using a template seems to be the smoothest transition to legitimate usability. I will likely buy a domain for Elle in the future but will likely use a SLU domain for the time being. The website will be tested throughout different browsers (mobile and web browser).


the greatest actors’ distribution ever
Alain Fagot Béarez
@AlainBearez
three cities
with wonderful beaches
Barcelona
Montpellier
Fortaleza
abertis
telecommunication tower
(radio+TV+GSM)
Teads.tv
real-time ads auctions
M2M solutions
bus monitoring
20,000 devices
monitoring 10 to 20 parameters each
300ms to decide
100,000 auctions per second
10,000 buses
monitoring 20 indicators
every 30s
upon failure, activate redundant system
and book the maintenance of fainted system
on page request,
start a new auction with deadline
upon timeout,
discard late responses of bidders
real-time animated positions on the map
estimated time to next stops
gigantic input data volume
many volatile data
constant flow of "observations"
short time for every operation
"now or never again"
many quick and independent operations
no time to read from disc
each operation can throw new
"observations" to be handled
necessity to handle
greater volume
every month
avoid bottlenecks with databases
through event logging
write highly cohesive code units
dedicated to solve only one issue
distribute processing
across several processors
ACTOR
state
result from handling the successive messages
through the successive behaviors
local (and potentially erroneous) view of the universe
mailbox
local order of received messages
without any guarantee
but preserving send order
for messages from same sender
behavior
can switch behavior
when receiving some special message
when NOT receiving before timeout
time travel
- 2013
- you are listening to a talk about actors
time travel
- 2003
- first public release of Scala (without actors)
time travel
- 1993
- start of my PhD in the field of distributed computing
time travel
- 1983
- Symposium on Principles of Distributed Computing
time travel
- 1973
- Carl Hewitt
time travel
- 1963
- Carl Adam Petri
time travel
- 2013
- you are listening to a talk about actors
- 1973
- Carl Hewitt
- 1963
- Carl Adam Petri
Simple Actors Example
- A few enterprises are created.
- Each enterprise buys some new vehicles and sets them to operate.
- Once operating, the satellite sends the vehicle’s position every 10s (±1s).
- Each vehicle logs its position for further use.
A few enterprises are created.
package cua.li.ti.vehicles import akka.actor.{Actor,ActorLogging,ActorRef,ActorSystem,Props} import scala.collection._ import scala.concurrent.Future import scala.util.Random object VehiclesSystem { def main(args :Array[String]) :Unit = { val system = ActorSystem("vehicles") system.actorOf(Props[Satellite], "gps") val enterprises = for (index <- 1 to 42) yield system.actorOf(Props[Enterprise], "enterprise"+index) for (enterprise <- enterprises) { enterprise ! Protocol.Buy } } } object Protocol { case object Buy case class Operate(enterprise :String, plate :String) case class Heartbeat(vehicle :ActorRef) case class Position(lat :Double, lng :Double) }
Each enterprise buys some new vehicles and sets them to operate.
class Enterprise extends Actor { import Protocol._ override def receive = { case Buy => { if (Random.nextBoolean) self ! Buy val vehicle = context.actorOf(Props[Vehicle]) vehicle ! Operate(self.path.name, plate) } } private def plate = { val sb = StringBuilder.newBuilder for (letters <- 0 until 3) sb += ('A'.toInt + Random.nextInt(26)).toChar sb += '-' for (numbers <- 0 until 4) sb += ('0'.toInt + Random.nextInt(10)).toChar sb.toString } }
Once operating, the satellite sends the vehicle’s position every 10s (±1s).
class Satellite extends Actor { import context.dispatcher import Protocol._ override def receive = { case Heartbeat(vehicle) => { val future = Future { Thread.sleep(9000+(Random.nextGaussian * 2000).toInt) self ! Heartbeat(vehicle) } vehicle ! Position(Random.nextDouble, Random.nextDouble) } } }
Each vehicle logs its position for further use.
class Vehicle extends Actor with ActorLogging { import Protocol._ var plate = "no plate" var enterprise = "no owner" override def receive = { case Operate(owner, license) => { enterprise = owner plate = license context.actorSelection("/user/gps") ! Heartbeat(self) } case Position(lat, lng) => log.info(s"in $enterprise, $plate at ($lat,$lng)") } } // That's all folks!
Patterns
Corsican Worker
Don’t perform right now
any hard work
that can be done
in the future!
Let somebody else
do the hard work for you.
Don’t Push!
When dealing with hard work,
let the workers ask for tasks
when they are ready.
Spawn more workers
when tasks are piling up.

Now or Never Again
After some given delay,
discard any late response.
Change behavior
according to some
Finite State Machine
Futures and Promises
They are used to retrieve the result of some concurrent operation.
val promise = Promise[String]() val future = promise.future future onSuccess { case "bar" => println("Got my bar alright!") case x: String => println("Got some random string: " + x) } future onFailure { case ise: IllegalStateException => // We are in deep trouble, do something! case e: Exception => // Do something else } future onComplete { case Success(result) => doSomethingOnSuccess(result) case Failure(failure) => doSomethingOnFailure(failure) } // ... promise.success("hello")
Resilient Software
Resilience is the capacity
to recover quickly from difficulties.
Asynchronous Message Passing
Loose Coupling and Supervision
Command Query Responsibility Segregation
http://martinfowler.com/bliki/CQRS.html
CQRS
is not CRUD
Separate object models,
running in different processes,
on separate hardware
Event Sourcing
http://martinfowler.com/eaaDev/EventSourcing.html
ensure that all changes
to application state
are stored as a sequence of events
use the event log
to reconstruct past states
and to automatically adjust the state
to cope with retroactive changes
CodinGame
http://www.codingame.com/cg/#!challenge:17


Our response to color is intensely emotional, and flowers can be a catalyst for feelings that stimulate more than just our senses of sight and smell - Leatrice Eiseman, executive director of the PANTONE Color Institute. My concept for these data portraits involves the relationship between flowers and their symbolism and how it impacts human emotions. There is a language of flowers, where a specific species, combined with a specific color, translates to a specific meaning. A survey of 8 questions focused on emotional dispositions and personality traits was created and distributed to friends and family. The following are visual renderings of each individual's response - data portraits.


An Internet Hotlist on Endangered Animals
created by: Mrs. Carlisle and Mrs. G.
Village Middle School
You and your classmates have been hired by the newly created ENDANGERED ANIMAL PRESERVATION LEAGUE in your very own city to write its first newspaper about ENDANGERED ANIMALS. As part of their educational campaign, each person in this class will publish a mini-newspaper about a specific endangered animal. Each newspaper will be attached to local supermarket bags in an effort to educate the public.
Using KID INFO and Netscape, you are to collect facts and information about your chosen endangered animal, as well as find a photograph of your endangered animal. Your collection of informational facts must include the following details about your animal: appearance (size, coloring, etc.), habitat and home facts (country, type of land or water, nest, caves, etc.), food (what type, how it gets food), life cycle, special adaptations (features that make it possible for it to survive in its habitat), enemies (who), why it is an endangered animal, what is being done to preserve it, and what organizations a person can contact to help.
You may paste your electronic notes and photograph into any word processing program. After you have collected your notes and photograph electronically, print your notes, and begin a rough draft of your mini-newspaper. You may use any word processing program to create your newspaper.
Remember that your newspaper must have a title and that you may be CREATIVE and add appropriate graphics, poetry, advertisements, etc. at anytime to act as "fillers"
Good Luck! Sign your work with excellence! Remember that community members will be reading your newspaper!
All Endangered Animals
Catholic Encyclopedia: Information about any topic - Topics listed in ALPHABETICAL ORDER
Encarta Online Encyclopedia: Encarta offers a free online encyclopedia, and a premium online encyclopedia for a fee - SEARCHABLE by keyword
Encyclopedia.com: Look up anything on any topic you can think of -- the Encyclopedia is bound to have an answer.
EncycloZine: A place to easily find quality information on the Internet; it's a hybrid mini-portal / concise encyclopedia
Information Please: On-Line Dictionary; Encyclopedia; Almanac, and more
Search
Engines
*Remember to CAREFULLY read the individual summaries before going to a particular site. If you have any questions about whether to go to a site ask one of the teachers in the room!
Awesome Library: Educational Search Engine for Kids
Ask Jeeves for Kids Results: The fastest and easiest way to find answers to questions. Ask Jeeves for Kids allows you to ask a question in plain English. After confirming your question, Ask Jeeves for Kids takes you to one good web site for the answer to your question.
Study Web: Search the collection of over 63,000 Research Quality URLs:
and Mrs. G.


The usage is typcal to any jQuery plugin. Check the examples to see how the slider may cover the needs in your project.
The plugin allows for variouse custom configurations on each slider. The documnetation is describing all the available functionality.
The Slider is released under the MIT License, so fell free to fork it or use it however you need it. Feel free to report any issues :)


VueHtmlToPaper
GitHub
MYCURE Pets
Animal
Name
Power Lvl 0-100
Sound
Cate
Kidlat
97
Miiiiiiiiiyaaaaw!!!
Doge
Cure
80
Nggggggggggggrraw!!!
Doge
Pickle
79
Aaaaaaw!!! *high pitch*
Doge
V3
90
Raaaaw!!! *high pitch*
Doge
V4
40
Raaaaw!!! *high pitch x3*
PRINT


{% include 'queries/all_users.gql' %}
{% include 'queries/all_users_next.gql' %}
{% include 'queries/all_users_previous.gql' %}
{% include 'queries/user.gql' %}


I love music and math. I spent a decade in the systems world, training and designing systems for IBM in New York and Bank of America and Charles Schwab in San Francisco.
I then composed music and songs for films for NOVA, PBS, and the History Channel. Currently I work in both fields, teaching and writing code and composing documentary songs with people.
As for schooling, I earned a BA at Columbia, an MBA at Berkeley, and a PhD at Prescott. These days I study online at freecodecamp.com and live in Rockport, Maine, with my dear wife Barbara.
— Malcolm Brooks


About
Skills
Profesional Skills
I've been doing web developing for a while now and I am proficient in the following skils, as shown below, as well others such as Node JS and React.
HTML5
CSS
JAVASCRIPT
MongoDB
ExpressJS
ReactJS
Work
Popcornpedia
This Is A Link To My Repository
This Is A Link to My Deployed Application, Check It Out Here
Weather-Dashboard
This Is A Link To My Repository
This Is A Link to My Deployed Application, Check It Out Here
Contact
Contact me at the following addresses below or submit to me your details and I will get in contact.
Email<EMAIL_ADDRESS>Mobile:<PHONE_NUMBER>5


@* * Copyright 2019 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @(usr: CachedData)(implicit request: Request[_], flash: Flash, user: Option[CachedData], feedbackUrl: String, fasttrackConfig: FasttrackConfig, messages: Messages) @main_template(title = "Home") {
You can no longer apply for a Civil Service Fast Track apprenticeship.
You'll be able to apply again next year.
Or you can use the Find an apprenticeship service.


Bar charts
Since v1.15, jsGraph allows you to use the bar chart series together with the bar x axis. The two have to work together, i.e. you cannot assign a line serie to a bar axis neither a bar serie to a normal or a time axis. In addition, for now, bar graphs are only accepted in the x direction (vertical bars).
Defining the bar axis
To define the bar axis, you need to pass its reference to the Graph
constructor:
Alternatively, you can also overwrite the default x axis using:
Defining the categories
The next step is to assign the categories that jsGraph should recognize. A category is like an axis value, except that it can take text. When multiple series are used, the values that have the same category will be displayed next to each other.
To define categories, simply use
Creating series
Alright, then we have to create a few series. The serie creation is the same as for any other serie, and take the type Graph.SERIE_BAR
or, if you prefer, the string "bar"
:
There is however one extra step you need to make: you need to tell the axis that the series belong to it. That extra step is, we realize, a real pain, because you need to reassign the series to the axis when creating new ones and when removing them. But it also allows you to specify the order of the series. Maybe we will be able to remove this extra instruction in future releases. In the meantime, here’s the syntax:
Setting data
Setting data to the serie takes an object which keys are the names of the categories:
Styling the series
Some additional styling options are available to differentiate series from one another. In additions to the methods provided by the line serie (setLineWidth
, setLineColor
, the bar series take the additional setFillColor
and setFillOpacity
method which set the inner color and inner opacity of the bars, respectively. Bar charts take no markers.
Results
Ok, let’s take all of this code, put it together and display the result:


This guide explains how to create a meeting, add an attendee to that meeting, and use the returned information to join a meeting application to the meeting and send and receive audio. This guide assumes you have:
A meeting service responsible for creating and managing meetings and their attendees.
A meeting application that communicates with the meeting service to receive meeting and attendee information which it uses to join the meeting.
In your meeting service, create an AWS SDK Chime object. You must currently use
us-east-1 as the region (you can select a MediaRegion in the following step).
The following example assumes your meeting service uses the AWS SDK for JavaScript
following an async/await pattern and that the Chime object has credentials for a
role with a policy that allows
chime:CreateMeeting and
chime:CreateAttendee:
const requestId = uuidv4();
const region = 'us-west-2'; // specify media placement regiontry {
const meeting = await chime.createMeeting({
ClientRequestToken: requestId,
MediaRegion: region,
}).promise();
} catch (err) {
// handle error - you can retry with the same requestId
}
const meetingId = meeting.Meeting.MeetingId; // meeting ID of the new meeting
Now create an attendee on the meeting:
const externalUserId = uuidv4(); // or string ID you want to associate with the usertry {
const attendee = await chime.createAttendee({
MeetingId: meetingId,
ExternalUserId: externalUserId,
});
} catch (err) {
// handle error - you can retry with the same externalUserId
}
const attendeeId = attendee.Attendee.AttendeeId // attendee ID of new attendee
Now securely transfer the meeting and attendee objects (e.g. in JSON) to your meeting application. These objects contain all the information needed for a
meeting application using the Amazon Chime SDK for JavaScript to join the meeting.
Using the meeting and attendee objects supplied by the meeting service, create a new logger, device controller, meeting session configuration, and meeting session:
import {
ConsoleLogger,
DefaultDeviceController,
DefaultMeetingSession,
LogLevel,
MeetingSessionConfiguration,
} from'amazon-chime-sdk-js';
const logger = new ConsoleLogger('ChimeMeetingLogs', LogLevel.INFO);
const deviceController = new DefaultDeviceController(logger);
const configuration = new MeetingSessionConfiguration(meeting, attendee);
const meetingSession = new DefaultMeetingSession(configuration, logger, deviceController);
The meeting session as an audio-video API interface meetingSession.audioVideo with most of the control surface you will use for managing the meeting session. See here for a list of methods you can use. Now select an audio device. In this example, you will select the first device, which usually represents the system default.
try {
const audioInputs = await meetingSession.audioVideo.listAudioInputDevices();
await meetingSession.audioVideo.chooseAudioInputDevice(audioInputs[0].deviceId);
} catch (err) {
// handle error - unable to acquire audio device perhaps due to permissions blocking
}
To hear audio from remote participants you will need to bind to an <audio> element on
your webpage (it can be hidden with display:none).
Implement AudioVideoObserver. Add an instance of the observer using the addObserver method so you can receive events.
Use the realtime methods to handle audio control such as muting, unmuting, receiving attendee presence events, and receiving volume indicators for remote participants.
Getting Started
This guide explains how to create a meeting, add an attendee to that meeting, and use the returned information to join a meeting application to the meeting and send and receive audio. This guide assumes you have:
Meeting Service
In your meeting service, create an AWS SDK Chime object. You must currently use
us-east-1
as the region (you can select a MediaRegion in the following step). The following example assumes your meeting service uses the AWS SDK for JavaScript following an async/await pattern and that the Chime object has credentials for a role with a policy that allows chime:CreateMeeting and chime:CreateAttendee:const { v4: uuidv4 } = require('uuid'); const AWS = require('aws-sdk'); const chime = new AWS.Chime({region: 'us-east-1'});
Create a meeting using the
chime
object:const requestId = uuidv4(); const region = 'us-west-2'; // specify media placement region try { const meeting = await chime.createMeeting({ ClientRequestToken: requestId, MediaRegion: region, }).promise(); } catch (err) { // handle error - you can retry with the same requestId } const meetingId = meeting.Meeting.MeetingId; // meeting ID of the new meeting
Now create an attendee on the meeting:
const externalUserId = uuidv4(); // or string ID you want to associate with the user try { const attendee = await chime.createAttendee({ MeetingId: meetingId, ExternalUserId: externalUserId, }); } catch (err) { // handle error - you can retry with the same externalUserId } const attendeeId = attendee.Attendee.AttendeeId // attendee ID of new attendee
Now securely transfer the
meeting
andattendee
objects (e.g. in JSON) to your meeting application. These objects contain all the information needed for a meeting application using the Amazon Chime SDK for JavaScript to join the meeting.Meeting Application
Using the
meeting
andattendee
objects supplied by the meeting service, create a new logger, device controller, meeting session configuration, and meeting session:import { ConsoleLogger, DefaultDeviceController, DefaultMeetingSession, LogLevel, MeetingSessionConfiguration, } from 'amazon-chime-sdk-js'; const logger = new ConsoleLogger('ChimeMeetingLogs', LogLevel.INFO); const deviceController = new DefaultDeviceController(logger); const configuration = new MeetingSessionConfiguration(meeting, attendee); const meetingSession = new DefaultMeetingSession(configuration, logger, deviceController);
The meeting session as an audio-video API interface
meetingSession.audioVideo
with most of the control surface you will use for managing the meeting session. See here for a list of methods you can use. Now select an audio device. In this example, you will select the first device, which usually represents the system default.try { const audioInputs = await meetingSession.audioVideo.listAudioInputDevices(); await meetingSession.audioVideo.chooseAudioInputDevice(audioInputs[0].deviceId); } catch (err) { // handle error - unable to acquire audio device perhaps due to permissions blocking }
To hear audio from remote participants you will need to bind to an
<audio>
element on your webpage (it can be hidden withdisplay:none
).const audioOutputElement = document.getElementById('<your-audio-element-id>'); meetingSession.audioVideo.bindAudioElement(audioOutputElement);
Now start the session:
At this point if you have two meeting applications with different attendees, they should now be able to hear each other.
Next Steps
realtime
methods to handle audio control such as muting, unmuting, receiving attendee presence events, and receiving volume indicators for remote participants.Give feedback on this guide


<time> tag sample
This page created on
<mark> tag sample
Mark is used to highlight text as if with a marker pen.
Conditional Comments
This page also uses conditional comments provided by page generator from HTML5 Boilerplate.
Improved using of tables
| Header 1 | Header 2 | Header 3 |
| Ordinary | Alternative | Ordinary |
| column | column | column |
| Footer 1 | Footer 2 | Footer 3 |


Past Medical History
New Medical History
Patient Past Medical History
Past Medical History
Required
Menstrual History
P
Required
D
Required
Past Surgical History
Required
Drug History
Required
Family History
Required
Family history of similar diseases
Yes
No
Comments
Required


Detailed course offerings (Time Schedule) are available for
NEURO 501 Introduction to Neurobiology (3) Carlson
Survey of molecular, cellular, and developmental neuroscience, including gene regulation, the cytoskeleton, protein sorting in the secretory pathway, growth factors, and neurotransmitter receptors. Includes lecture discussion of original literature.
View course details in MyPlan: NEURO 501
NEURO 502 Introduction to Neurobiology (5) Sherk
Systems level survey of vertebrate system, focusing on sensory system, on motor system, and on neuroanatomy. Lectures cover topics in sensory and motor systems. Laboratory includes brain dissection and study of intact, prosected, and sectioned brain and spinal cord. Emphasis is on human nervous system.
View course details in MyPlan: NEURO 502
NEURO 503 Cognitive and Integrative Neurobiology (4) Phillips
Survey of all aspects of neuroscience, including a discussion of higher neural processes like motivation, decision making, attention, learning, and memory. Lecture and discussion of original literature.
View course details in MyPlan: NEURO 503
NEURO 504 Biophysics of Nerve, Muscle, and Synapse (3) Sullivan
Introduces biophysical properties of nerve and muscle cells. Topics include intrinsic electrical properties of neurons, ion channels, receptor signaling, calcium signaling, contraction of muscles, and synaptic function. Offered: jointly with P BIO 504.
View course details in MyPlan: NEURO 504
NEURO 510 Seminar in Neurobiology and Behavior (0.5, max. 30)
Biweekly seminar on current topics. Required for students in the graduate program in neurobiology and behavior and for students supported on Graduate Neuroscience Program Training Grant. Credit/no-credit only.
View course details in MyPlan: NEURO 510
NEURO 511 Seminar in Advanced Neurobiology (1-3, max. 30)
Weekly faculty lectures, student presentations, and discussions of past and current scientific literature in neurobiology and behavior.
View course details in MyPlan: NEURO 511
NEURO 512 Readings in Advanced Neurobiology and Behavior (1-3, max. 30)
Guided study of the primary literature of neurobiology and behavior. Emphasizes critical analysis, accuracy of expression, bibliographical technique, and other factors of good scholarship. Prerequisite: permission of instructor. Credit/no-credit only.
View course details in MyPlan: NEURO 512
NEURO 515 Teaching Practicum in Neurobiology and Behavior (3-6, max. 30)
Supervised training in the teaching of neuroscience and related scientific topics. Prerequisite: graduate standing in the neurobiology and behavior graduate program and permission of the instructor. Credit/no-credit only.
View course details in MyPlan: NEURO 515
NEURO 526 Introduction to Laboratory Research in Neurobiology (4, max. 30)
Students become familiar with, and assist in, the performance of research on ongoing projects in designated laboratories. Emphasis on employed methodology and techniques. Prerequisite: first-year graduate students in neurobiology. Credit/no-credit only.
View course details in MyPlan: NEURO 526
NEURO 527 Current Topics in Neurobiology and Behavior (1, max. 30) Rieke
Presentation and discussion of current research provides exposure to diverse areas of neurobiology and behavior research. Prerequisite: graduate student in neurobiology and behavior program or permission of instructor. Credit/no-credit only.
View course details in MyPlan: NEURO 527
NEURO 528 Computational Neuroscience (3)
Introduction to computational methods for understanding nervous systems and the principles governing their operation. Topics include representation of information by spiking neurons, information processing in neural circuits, and algorithms for adaptation and learning. Prerequisite: elementary calculus, linear algebra, and statistics, or permission of instructor. Offered: jointly with CSE 528.
View course details in MyPlan: NEURO 528
NEURO 535 Research Opportunities in Neurobiology and Behavior (1)
View course details in MyPlan: NEURO 535
NEURO 541 Neuroendocrinology (3) Steiner
Emphasizes the cellular and molecular aspects of several topics in neuroendocrinology, including neuropeptide genes, reproduction, steroid hormone regulation of gene expression, mechanisms of hormone action, endocrine rhythms, and neural oscillations. Prerequisite: either BIOL 201, BIOL 202, and BIOL 203, or BIOL 180, BIOL 200, and BIOL 220; BIOC 440, BIOC 441, BIOC 442 or permission of instructor. Offered: jointly with P BIO 509; W, even years.
View course details in MyPlan: NEURO 541
NEURO 545 Quantitative Methods in Neuroscience (3) Rieke
Discusses quantitative methods applicable to the study of the nervous system. Revolves around computer exercises/discussion of journal papers. May include linear systems theory, Fourier analysis, ordinary differential equations, stochastic processes, signal detection, and information theory. Prerequisite: NEUBEH 501, NEUBEH 502, NEUBEH 503, or permission of instructor. Offered: jointly with P BIO 545.
View course details in MyPlan: NEURO 545
NEURO 548 Molecular Mechanisms of Synaptic Plasticity (2) Barria
Discusses recent primary literature on the molecular mechanisms underlying structural and functional changes of dendritic spines and synapses in the mammalian brain as result of synaptic activity and experience. Offered: jointly with P BIO 548; Sp, even years.
View course details in MyPlan: NEURO 548
NEURO 550 Biophysics of Calcium Signaling (1) Hille, Santana
Introduction to cellular calcium signaling including theoretical and technical issues of calcium signal detection and biological conclusions. Prerequisite: CONJ 531. Offered: jointly with P BIO 550; Sp, odd years.
View course details in MyPlan: NEURO 550
NEURO 554 Motor Learning: Cellular and Network Mechanisms (1) Fetz, Perlmutter
Five-week mini-course reviews the current state of research on cellular and network mechanisms of motor learning. After an introductory overview of behavioral and physiological examples of motor learning in various species and systems, students choose specific topics for discussion, using the primary literature as a source. Offered: jointly with P BIO 554.
View course details in MyPlan: NEURO 554
NEURO 555 Sensory Receptors (1) Detwiler, Rieke
Five-lecture mini-course examines how different kinds of sensory receptors detect and respond to different modalities of sensory stimuli. Discussion focuses on the cellular and molecular mechanisms of the underlying transduction processes and the experimental evidence that they are based on. Offered: jointly with P BIO 555.
View course details in MyPlan: NEURO 555
NEURO 556 Axon Pathfinding Mechanisms (1) Bothwell
Examines mechanisms governing axon growth cone behavior during embryonic development and during regeneration in the injured adult. Discusses approaches employing both invertebrate and vertebrate model systems. Offered: jointly with P BIO 556.
View course details in MyPlan: NEURO 556
NEURO 557 Ion Channel Gating (1) Zagotta
Compares and contrasts mechanisms of gating in ligand-gated and voltage-gated ion channels. Covers basics of ligand gating and voltage gating, kinetic schemes, inactivation and desensitization, gating currents and partial agonists, and ion channel structure. Offered: jointly with P BIO 557.
View course details in MyPlan: NEURO 557
NEURO 559 Neurobiology of Disease (3) Garden, Neumaier, Weinstein
Introduces medically important neurological and psychiatric diseases and experimental approaches to understanding the basis for diseases and their treatments. Covers stroke, epilespsy, autoimmune diseases of the CNS, neurodegenerative diseases, autism, psychosis, anxiety disorders, and mood disorders. Offered: jointly with NEURL 559/P BIO 559.
View course details in MyPlan: NEURO 559
NEURO 561 From Biophysics to Neural Computation (2)
Introduces the mathematics and methods of neuronal modeling. Develops, compares, and relates dynamical systems approaches and empirical characterizations of neuronal function. Includes lectures, student-led journal paper discussions, biweekly computational workshops on neuronal modeling packages, and a computations project. Offered: jointly with P BIO 561; Sp.
View course details in MyPlan: NEURO 561
NEURO 600 Independent Study or Research (*-)
Credit/no-credit only.
View course details in MyPlan: NEURO 600
NEURO 700 Master's Thesis (*-)
View course details in MyPlan: NEURO 700
NEURO 800 Doctoral Dissertation (*-)
View course details in MyPlan: NEURO 800


BUNDLEDOC(1) User Commands BUNDLEDOC(1) NAME bundledoc - bundle all the files needed by a LaTeX document SYNOPSIS bundledoc [--version] [--help] [--[no]verbose] [--texfile=file] [--directory=directory] [--[no]localonly] [--exclude=string] [--include=filespec] [--manifest=file] [--listdeps=[yes|no|only|rel]...] [--[no]keepdirs] [--config=file] .dep file DESCRIPTION bundledoc is a post-processor for the snapshot package that bundles together all the classes, packages, and files needed to build a given LaTeX document. It reads the .dep file that snapshot produces, finds each of the files mentioned therein, and packages them into a single archive file (e.g., a .tar.gz file), suitable for moving across systems, transmitting to a colleague, etc. As the simplest example possible, consider a LaTeX file called, say, hello.tex: \RequirePackage{snapshot} % Needed by bundledoc \documentclass[11pt]{article} \begin{document} Hello, world! \end{document} The "\RequirePackage{snapshot}" causes a hello.dep file to be produced. When bundledoc is then given "hello.dep" as an argument, it locates the dependent files -- snapshot.sty, article.cls, and size11.clo -- and bundles them into a single archive file, along with hello.tex and a MANIFEST file (described in "OPTIONS", below). OPTIONS In the following descriptions, somefile refers to the name of your main LaTeX document (no extension). bundledoc requires the name of the dependency file produced by snapshot (normally somefile.dep). The following options may also be given: --version Output the bundledoc script's version number. This overrides all of the remaining options. --help Give a brief usage message. This overrides all of the remaining options. --[no]verbose (default: "noverbose") bundledoc normally does not output anything except error messages. With "--verbose", it outputs copious status messages. --texfile=main .tex file (default: somefile.tex) snapshot's dependency file does not list the main LaTeX file (the one that gets passed to latex). In order for bundledoc to find and bundle that file, bundledoc assumes it has the same name as the snapshot dependency file but with a .tex extension. If this is not the case, then use "--texfile" to specify the correct filename. --directory=archive directory (default: somefile) When bundledoc creates an archive (e.g., a .tar or .zip file) containing the document's files, it puts all of them in a directory to avoid cluttering the current directory with files. If the given dependency file is called somefile.dep then the resulting archive will, by default, store all the dependent files in a somefile directory. To change the directory name use the "--directory" option. --[no]localonly (default: "nolocalonly") Although bundledoc normally archives all of the files named in the .dep file, the "--localonly" option tells bundledoc to exclude all files located in a directory other than the .tex file's directory or one of its subdirectories. --exclude=string (default: none) While "--localonly" causes files outside of the .tex file's directory tree to be omitted from the archive, "--exclude" provides finer- grained control over files to omit from the archive. The "--exclude" option, which can be specified repeatedly on the command line, causes all files whose name contains string to be omitted from the archive. --include=filespec (default: none) The "--include" option, which can be specified repeatedly on the command line, instructs bundledoc to include in the archive all of the files matching filespec, even if they're not referenced in the .dep file. --manifest=manifest file (default: MANIFEST) In addition to the dependent files, bundledoc includes in the archive file one extra file called, by default, ``MANIFEST''. MANIFEST is a text file that lists the original filenames of all the dependencies. To change the filename from ``MANIFEST'' to something else, use the "--manifest" option. As a special case, "--manifest=""" tells bundledoc not to include a manifest file at all. --listdeps=[yes|no|only|rel]...] (default: "no") "--listdeps" accepts one or more of "yes", "no", "only", or "rel" as a comma-separated list. As long as "no" does not appear in this list, bundledoc outputs all of the main LaTeX file's dependencies. If the list contains "rel", then bundledoc outputs the list of dependencies with relative pathnames. If the list contains "only", then bundledoc exits after displaying the list, without producing an archive. --[no]keepdirs (default: "nokeepdirs") Normally, the archive file that bundledoc produces contains a single directory -- and subdirectories, if the document refers explicitly to them -- in which all the dependent files lie. If "--keepdirs" is specified, all the dependent files are stored with their original pathnames. For example, if somefile.tex depends on figures/somefigure.eps, article.cls, and snapshot.sty, then the somefile archive will normally contain the following files: · somefile/somefile.tex · somefile/figures/somefigure.eps · somefile/article.cls · somefile/snapshot.sty · somefile/MANIFEST However, "--keepdirs" will cause the somefile archive to contain the following sorts of filenames instead: · home/me/mydocs/somefile.tex · home/me/mydocs/figures/somefigure.eps · usr/share/texmf/tex/latex/base/article.cls · usr/share/texmf/tex/latex/snapshot/snapshot.sty "--directory" is not used when "--keepdirs" is in effect. In addition, no manifest file is written to the archive file as it contains redundant information. --config=configuration file (default: <none>) The "--config" option is used to point bundledoc to the appropriate configuration (.cfg) file for your TeX distribution and operating system. bundledoc comes with a few configuration files and it's easy to write more. See "CONFIGURATION FILES" (below) for a description of the configuration file format. CONFIGURATION FILES Format Configuration files follow a fairly simple format. Lines beginning with "#" are comments. Blank lines are ignored. All other lines are of the form: variable: value The current version of bundledoc recognizes the following variables: bundle The command to use to bundle a set of files into a single archive file sink The affix to a command to discard its output find The command to find a file within the TeX tree(s). Values that are too long for one line can be split across multiple lines by using "\" as the line-continuation symbol. There are two environment variables that bundledoc makes available for use by configuration-file commands: "BDBASE", which is set to somefile (as in "OPTIONS"), and "BDINPUTS", which is set to a space-separated list of files that a command is to operate upon. That is, when the command associated with "bundle" is running, "BDINPUTS" contains the list of all the files that are to be archived. In contrast, when the command associated with "find" is running, "BDINPUTS" contains the name of the file to search for. Examples The following configuration file parallels bundledoc's default values of the various configuration-file variables, which represents a kpathsea- based TeX distribution running on a generic Unix system, which doesn't necessarily have any of the GNU tools, such as gzip or GNU tar: # "Default" configuration file # By Scott Pakin<EMAIL_ADDRESS>bundle: (tar -cvf - $BDINPUTS | compress > $BDBASE.tar.Z) sink: > /dev/null 2>&1 find: kpsewhich -progname=latex $BDINPUTS The parentheses in the "bundle:" line tell the Unix shell to run the command in a subshell. This is to make the "sink:" affix work properly (i.e., so there aren't two ">"'s in the same command). Notice how the commands treat "BDBASE" and "BDINPUTS" like any other environment variables in a Unix shell, using "$" to take their value. Other operating systems use different conventions for referring to environment variables. For instance, a configuration file for a Windows- based TeX distribution would use "%BDBASE%" and "%BDINPUTS%" instead. The value for "sink:" is specific to an operating system. The value for "find:" is specific to a TeX distribution. "bundle:" is where the most opportunity for customization lies. You can use "bundle:" to specify your favorite archive format. For example, you can produce a shar file on Unix with something like: bundle: (shar --archive-name="$BDBASE" $BDINPUTS > $BDBASE.sh) or a CAB file on Microsoft Windows with something like: bundle: cabarc -r -p N %BDBASE%.cab %BDINPUTS% EXAMPLES Assume that myfile.dep was produced from myfile.tex by following the instructions in the Description section. The following command produces a .zip file with the MikTeX TeX distribution running on Microsoft Windows: bundledoc --config=miktex.cfg myfile.dep (In practice, it's probably necessary to specify to "--config" the complete path to bundledoc's miktex.cfg configuration file.) The following builds a .tar.gz archive with the TeX Live distribution running on a Unix-like operating system. bundledoc will produce verbose output describing its operations. All files not in the same directory tree as myfile.tex and all files containing ".fd" or ".sty" in their names are omitted. However, all .bib files in the current directory will be included in the archive even though none of them are referenced by myfile.dep. Finally, no MANIFEST file will be produced. bundledoc --config=texlive-unix.cfg --verbose --localonly \ --exclude=.fd --exclude=.cfg --include="*.bib" --manifest="" \ myfile.dep FILES The user must have previously installed snapshot.sty and used it to produce a dependency file for his document. Besides that, the set of external files needed by bundledoc is system-specific and depends on the configuration file used. (See "CONFIGURATION FILES", above.) bundledoc currently comes with two configuration files: texlive-unix.cfg Configuration file for TeX Live installations on Unix or Linux. TeX Live is a kpathsea-based TeX distribution that runs on various flavors of Unix and Microsoft Windows. texlive-unix.cfg assumes you have gzip and uses it to produce a .tar.gz archive file. The configuration file has bundledoc use kpsewhich to find LaTeX files. miktex.cfg Configuration file for MikTeX installations. MikTeX is a popular TeX distribution for Microsoft Windows. miktex.cfg assumes you have zip and uses it to produce a .zip archive file. The configuration file has bundledoc use the rather nonstandard initexmf to find LaTeX files. NOTES Including and excluding files The "--localonly", "--exclude", and "--include" options provide control over the archive's contents. "--exclude" and "--include" can be specified repeatedly on the command line. The order in which these options are specified is immaterial; bundledoc processes file inclusions and exclusions in the following order: 1. All files referenced by the .dep file are added to the list of files to archive. 2. If "--localonly" is specified, all files not found in the .tex file's directory are removed from the list. 3. For each "--exclude" string specified, all files containing that string are removed from the list. 4. For each "--include" file specification, the set of files designated by its expansion are added to the list. Issues When Running Under Microsoft Windows First, because bundledoc is a Perl script, you should do one of the following to run it under Windows: · "perl bundledoc" · Rename bundledoc to bundledoc.pl and run "bundledoc.pl". (This is assuming you have a file association set up for .pl.) · Run the pl2bat script (if you have it) to convert bundledoc to bundledoc.bat, then run "bundledoc". Second, Windows uses a multi-rooted filesystem (i.e., multiple drive letters). I wouldn't be surprised if bad things were to happen if the files to be bundled are scattered across drives. In addition, Windows supports ``UNC'' filenames, which have no drive letter at all, just a machine and share name. UNC filenames are also untested waters for bundledoc. Be careful! Testing Status I have tested bundledoc only with Perl v5.6.0 and later and only on the following platforms: · Linux + TeX Live · Linux + teTeX · Windows NT + MiKTeX · Solaris + ??? (something kpathsea-based) It is my hope that bundledoc works on many more platforms than those. I tried to make the program itself fairly independent of the operating system; only the configuration files should have to change to run bundledoc on a different system. Future Work I'd like bundledoc to work on as wide a variety of TeX distributions as possible. If your platform is significantly different from the ones listed in "Testing Status" (e.g., if you're running MacOS) and you need to create a substantially different configuration file from texlive-unix.cfg and miktex.cfg, please send it to me at the address listed in "AUTHOR" so I can include it in a future version of bundledoc. (I make no promises, though). Once bundledoc works on all the major operating systems and TeX distributions it would be really convenient if I could get bundledoc to detect the platform it's running on and automatically select an appropriate configuration file. Finally, it would be handy for bundledoc to include fonts in the archive file. At a minimum, it should include .tfm files, but it would be even better if it included .mf, .pfb, .ttf, and other common font formats, as well. Acknowledgments Thanks to Fabien Vignes-Tourneret for suggesting what became the "--localonly" option and for a discussion that led to the "--exclude" and "--include" options; and to Marius Kleiner for updating bundledoc to properly handle document subdirectories. SEE ALSO gzip(1), kpsewhich(1), latex(1), perl(1), zip(1), the snapshot documentation AUTHOR Scott Pakin<EMAIL_ADDRESS>v3.1 2011-05-02 BUNDLEDOC(1)


--- layout: post date: 2010-10-03 time: "09:00:00" authors: ["Greg Wilson"] title: Do You Use Software Carpentry? tags: ["Community"] ---
If you use any of the Software Carpentry material in courses of your own, please add a link in the comments section below: our sponsors would like to know what our reach is (i.e., the more links we get, the more likely it is that we'll be able to continue helping you :-) ).


Small intro
This game is still in development.
I build it with the help of a manual published by CoderDojo purely as a hobby.
The book I used has some information that has been depricated and it's writen for complete beginners. Because of this, my game isn't an exact replica of what is in the book. Further more, the book did not use the full potential of object oriented programming. For example, the main character of the game isn't writen as an object, even though it should be. The book also doesn't explain how to launch the game as a node.js webapp.
I am glad I took the time to write this simple game because it thaught me new concepts in animation. I will defenatly expand this game. First by cleaning up the code to make it more efficient and readable and then by including audio, levels, a score system, different enemies, character selection and bosses. Optimizing the game for mobile platforms is also in the to-do list.


Robert Kennedy Jr. Arrested While Protesting With Jane Fonda
Actresses June Diane Raphael and Marg Helgenberger were also arrested.
by Ryan Parker FACEBOOK TWITTER EMAIL MEJane Fonda continued her crusade in Washington, D.C. on Friday, leading a protest over climate change at the U.S. Capitol, marking the actress' sixth "Fire Drill Friday."
This time, she was joined by Abigail Disney and Robert Kennedy Jr., among others, including actresses June Diane Raphael and Marg Helgenberger, for a sit-in.
RFK Jr., Raphael and Helgenberger were arrested along with others; all likely to be charged with crowding and obstructing or incommoding. It is unclear if Disney was arrested.
However, Fonda once again avoided arrest, as she did last week, because her stay in jail could have been a month.
Last week's protest started at the Capitol and ended outside the White House. There were no arrests. Fonda was joined then by Ben & Jerry’s co-founders Ben Cohen and Jerry Greenfield.
Fonda previously spent a night in jail after she was arrested a fourth time.
Fonda has been a political activist for decades and a staunch opponent of oil industry developments.
Fonda made it clear she plans on getting arrested while protesting as many times as it takes to get her climate change point across.


let form = new FormData();
form.append("user", "Guest");
form.append("time", Date.now());
for (let i = 0; i < importedFiles.length; i++) {
form.append("files", importedFiles[i]);
}
fetch("https://tsatellite.herokuapp.com/upload", {
method: "POST",
body: form
});
This POST API takes in a HTML form as the body, where the form must contain a field called files
,
which is an array of JS File objects.
Hence all files in the HTML form will be uploaded to the server, and the server will respond back with a
special ID associated with the repository of the files just uploaded.
fetch("https://tsatellite.herokuapp.com/upload", {
method: "POST",
body: form
})
.then(response => response.json())
.then(json => {
console.log(json.fileURL);
// Example Output of json.fileURL: 522d207d7305b360
});
With this given fileURL ID, the user can either access the repository by going to the url:
https://tsatellite.herokuapp.com/repository/**fileURL**
(where **fileURL** is the ID, such as:
522d207d7305b360) or using the POST request below to get a detailed directory information as a JSON object.
The following POST request provide the user with a JSON object that contains information about the repository.
let form = new FormData();
// replace folderID with the fileURL ID, such as 522d207d7305b360.
form.append("folderID", folderID);
fetch("https://tsatellite.herokuapp.com/fileInfo", {
method: "POST",
body: form
});
Then, a JSON object will be returned if the repository associated with the fileURL ID inputted exist:
fetch("https://tsatellite.herokuapp.com/upload", {
method: "POST",
body: form
})
.then(response => response.json())
.then(repoInfo => {
console.log(repoInfo);
});
Sample output of repoInfo
:
{
"path": "./database/522d207d7305b360/files",
"name": "files",
"children": [
{
"path": "database\\522d207d7305b360\\files\\purple.png",
"name": "purple.png",
"size": 16418,
"extension": ".png",
"type": "file"
},
{
"path": "database\\522d207d7305b360\\files\\red.png",
"name": "red.png",
"size": 22666,
"extension": ".png",
"type": "file"
}
],
"size": 39084,
"type": "directory",
"birthTime": "2021-09-01T21:10:25.682Z"
}
If the repository does not exist. For example, the user passes in asdfasdfasdfasdf
, which is not
a valid repository ID, then the output of repoInfo
would be a string:
"Error: the resource asdfasdfasdfasdf does not exist"
More APIs and Functionalities Coming Soon...


Pizza
Amore!


Bitcamp is a place for exploration. You will have 36 hours to delve into your curiosities, learn something new, and make something awesome.With world-class mentors and hundreds of fellow campers, you're in for an amazing time. If you're ready for an adventure, see you by the fire!
Bitcamp is a place for exploration. We're a hackathon that values participant experience and mentorship over competitiveness and points. Come to have fun with your friends, learn something new, eat s'mores , and have a generally awesome time. We have all sorts of crazy activities planned for you...you'll have to come to find out the rest!
A hackathon is a creative coding marathon. Students are encouraged to come with an idea, form teams, and then build out that idea into a product in 36 hours. For Bitcamp, we want you to take something you love (sports! art! camping!) and combine it with technology to make something awesome. It is a great time to push the envelope and learn some new skills.
Bitcamp 2017 will take place at the Xfinity center on the University of Maryland Campus! Click here for directions
We'll have buses covering travel from several schools and areas. We will not be reimbursing any individual travel expenses this year. Please contact<EMAIL_ADDRESS>for more information.
Don't bring any firearms, knives, weapons, drugs, or alcohol. Don't use an old project. Start something new instead! Please read our Code of Conduct. Organizers will enforce this code throughout the event. We are expecting cooperation from all participants to help ensure a safe environment for everybody (TL:DR be nice). Click here for our code of conduct
People will arrive between 6pm and 8pm on Friday, April 7, 2017. Dinner is served at 6:30 PM. Our Sponsor Fair is at 8:00 PM, where you can spend time meeting and listening to sponsor talks. Hacking will start at 10PM on Friday and go until 10am on Sunday, April 9, 2017. Closing session will end by 3pm on Sunday.
Bring yourself, a photo ID, your signed waiver (if applicable), clothes, toiletries, a sleeping bag/blanket, your hacker setup and maybe an idea or two.
Projects are submitted by teams to DevPost. You don't need to finalized your team until project submissions are due during the event. Teams are limited to four people. You may have a one-person team.
Don't be afraid if you don't think you have enough experience, a team or an idea. A hackathon is meant for learning. We are going to have experienced mentors to help your team with a range of topics, and workshops on all kinds of skills.
We would love your help in guiding our hackers! Sign up to be a Volunteer Sigh up to be a Mentor
Anyone over the age of 18!
Please contact us at hello@bitca.mp


This is a test web page set up using Flask to send intents to Android apps installed locally on the device.


When all the transition components within this component are loaded this method will be
triggered. This is usually the point where the transition controller is setup.
allComponentsReadyResolveMethod
allComponentsReadyResolveMethod:function
property
allComponentsReadyResolveMethod
description
All components ready resolve method
Type declaration
(): void
Returns void
componentId
componentId:string
property
componentId
description
The unique id of the rendered component, this is used for fetching the reference if the same
components appears multiple times
Check to see if a component with a certain Id exists
Parameters
componentId: string
The id of the desired child component
Optional componentType: ComponentType
The type of the desired component
Returns boolean
a boolean to check if a child exists
isReady
isReady(): void
method
isReady
description
The isReady method should be called when the component is fully ready,
this is usually when it's children are ready but it could require more async data
allComponentsReady
When all the transition components within this component are loaded this method will be triggered. This is usually the point where the transition controller is setup.


{% extends "base.html" %} {% block title %}
Medieval catalogues > NEW FRIARS > Norwich-Dominican > Leland, c. 1536-40
{% endif %}2 identified entries found.
All data was derived from the List of Identifications by Professor Richard Sharpe.
{% if not printing %}
A key to codes used in the List is available (opens in new tab).{% endif %}


You can also contact each one of our Team directly via social network links provided in Our Team section.


Risk Adjustment Analytics Toolkit by Episource
Analytics functions are callable from cells as Excel functions
=epi.dx_desc("e119")
=epi.dx2cc("E119, i420")
=epi.dx_raf("E1100", "v24")
=epi.dx_increment("N18.3", "N18.4")
=epi.dx_gaps("e1100", "e119")
=epi.cc_raf(“HCC58”)
=epi.cc_increment(“19”, “18”)


Weather Dashboard
Search for a City:
(City name displays here)
Tepurature:
Humidity:
Wind Speed:
UV Index:
5 Day Forecast
T:
WS:
H:
T:
WS:
H:
T:
WS:
H:
T:
WS:
H:
T:
WS:
H:


Welcome to Kelvin. This guide will help you to set up the bot...
Please enter the IP below and press continue...
{{else}}IP: {{.BridgeIP}}
Kelvin found your Hue Bridge
{{end}}Please press the blue button on your bridge to authorize Kelvin access.
{{end}}


Overview
This example makes two API requests for the vehicle and location and displays it on a map.
Work flow
To retrieve the current location of a vehicle, we first look up the vehicle by its serial number.
When the API response returns our vehicle properties, we use that responses callback to retrieve the
DeviceStatusInfo object
which contains the current location. With this data, a location marker is added to the map.
Skill level
Intermediate


§ 23 Case study in basic data verbs: Moby Dick
23.1 Prolog: Scraping and arranging the data
A text file of the book is available at http://www.gutenberg.org/ebooks/2701. At that page is a link to a UTF-8 encoded text document named "pg2701.txt"
. I downloaded the file and stored it on my machine as Data/pg2701.txt
. I can read that using readLines()
.
Moby <- readLines("Data/pg2701.txt")
You could also read the file directly from Project Gutenberg
con <- file("http://www.gutenberg.org/ebooks/2701.txt.utf-8")
Moby <- readLines(con)
close(con)
The result, stored in the Moby
object, is a character vector of 22108 strings. Some of these are prefatory matter, some postscript.
The text itself begins after a line
start_text <- "START OF THIS PROJECT GUTENBERG"
and ends before a line
end_text <- "END OF THIS PROJECT GUTENBERG"
Using these as delimiters includes some transcriber’s notes, etc. For simplicity, I’ll take as the start the line
start_text <- "CHAPTER 1\\."
The last line is simply “orphan.” ending line
end_text <- "^orphan\\.$"
Why the funny spelling? The start_text
and end_text
are being specified as a “regex” (sometimes called regular expression) indicating that the word “orphan” is at the very beginning of the line, followed by a period and the end of the line.
Regexes are a way of describing patterns. For our purposes, we’ll use them to identify the first and last line of Melville’s work in the Project Gutenberg text. As it happens, there are two instances of “CHAPTER 1.” in Moby Dick. The second is a book within the book. We want to start with the early instance.
first_line <- min(grep(start_text, Moby))
last_line <- grep(end_text, Moby)
Moby <- Moby[first_line : last_line]
We want to break the strings up into individual words. We’ll do this “by hand” because I want to render the text as a simple set of words and punctuation. Steps:
- Change punctuation so that it is an isolated character.
- Split up each line by spaces into words.
- Convert to lower case (because I’m not interested in capitalization).
tmp <- Moby
characters <- unlist(strsplit(tolower(Moby), split = NULL))
# Step 1
punctuation <- c(".", ",", ";", ":", "?", "!", '"',
"'", "&", "-", "(", ")", "[", "]")
for (symbol in punctuation) {
result <- paste0(" ", symbol, " ")
tmp <- gsub(symbol, result, tmp, fixed=TRUE )
}
# Step 2
Words <- unlist(strsplit(tmp, split = " "))
# Step 3
Words <- data.frame(word = tolower(Words),
stringsAsFactors = FALSE)
# Get rid of empty strings
# Words <-
# Words %>%
# filter(word != "")
What are the character frequencies in the book?
table(characters) %>%
data.frame(stringsAsFactors = FALSE) %>%
arrange(desc(Freq))
| characters | Freq |
|---|---|
| 190500 | |
| e | 115021 |
| t | 86551 |
| a | 76496 |
| o | 68135 |
| n | 64555 |
| i | 64384 |
| s | 63107 |
| h | 61779 |
| r | 51160 |
| l | 42049 |
| d | 37658 |
| u | 26316 |
| m | 22904 |
| c | 22143 |
| w | 21774 |
| g | 20493 |
| f | 20476 |
| , | 18947 |
| p | 16961 |
| y | 16602 |
| b | 16600 |
| v | 8418 |
| k | 7937 |
| . | 7385 |
| - | 5741 |
| ; | 4143 |
| “ | 2879 |
| ’ | 2850 |
| ! | 1741 |
| q | 1544 |
| j | 1061 |
| x | 1006 |
| ? | 999 |
| z | 623 |
| ( | 201 |
| ) | 201 |
| : | 192 |
| 0 | 123 |
| 1 | 123 |
| 2 | 54 |
| 5 | 52 |
| 7 | 47 |
| 8 | 47 |
| * | 45 |
| 3 | 45 |
| 4 | 34 |
| 6 | 31 |
| 9 | 31 |
| _ | 4 |
| [ | 2 |
| ] | 2 |
| & | 2 |
| $ | 2 |
23.2 Most common words
Popular <-
Words %>%
group_by(word) %>%
tally() %>%
arrange(desc(n)) %>%
head(50)
23.3 Most common sequences
Sequences <-
Words %>%
filter(grepl("[a-zA-Z]", word)) %>%
mutate(two = lead(word, 1), three = lead(two, 1),
four = lead(three, 1))
CommonPairs <-
Sequences %>%
group_by(word, two) %>%
tally() %>%
ungroup() %>%
arrange(desc(n))
Popular triplets
Triplets <-
Sequences %>%
group_by(word, two, three) %>%
tally() %>%
ungroup() %>%
arrange(desc(n))