A lone gunman travels to the town of Yuta, which is run by the warring clans of the white-colored Genji and red-colored Heike. After ignoring requests from both clans to join them, he is given shelter by a woman named Ruriko, who takes care of her mute grandson Heihachi. Ruriko tells the gunman that many years ago, the town prospered in gold mining until both clans fought over the gold and drove away the population.
El 4 de Abril de 200
por Rodrigo Reyes
21 comentarios
Natural Born Killers is a 1994 American crime film[2] directed by Oliver Stone and starring Woody Harrelson, Juliette Lewis, Robert Downey Jr., Tom Sizemore, and Tommy Lee Jones. The film tells the story of two victims of traumatic childhoods who became lovers and mass murderers, and are irresponsibly glorified by the mass media.
Leer másEl 4 de Abril de 200
por Rodrigo Reyes
21 comentarios
Natural Born Killers is a 1994 American crime film[2] directed by Oliver Stone and starring Woody Harrelson, Juliette Lewis, Robert Downey Jr., Tom Sizemore, and Tommy Lee Jones. The film tells the story of two victims of traumatic childhoods who became lovers and mass murderers, and are irresponsibly glorified by the mass media.
Leer másEl 4 de Abril de 200
por Rodrigo Reyes
21 comentarios
Natural Born Killers is a 1994 American crime film[2] directed by Oliver Stone and starring Woody Harrelson, Juliette Lewis, Robert Downey Jr., Tom Sizemore, and Tommy Lee Jones. The film tells the story of two victims of traumatic childhoods who became lovers and mass murderers, and are irresponsibly glorified by the mass media.
Leer másEl 4 de Abril de 200
por Rodrigo Reyes
21 comentarios
Natural Born Killers is a 1994 American crime film[2] directed by Oliver Stone and starring Woody Harrelson, Juliette Lewis, Robert Downey Jr., Tom Sizemore, and Tommy Lee Jones. The film tells the story of two victims of traumatic childhoods who became lovers and mass murderers, and are irresponsibly glorified by the mass media.
Leer másEl 4 de Abril de 200
por Rodrigo Reyes
21 comentarios
Natural Born Killers is a 1994 American crime film[2] directed by Oliver Stone and starring Woody Harrelson, Juliette Lewis, Robert Downey Jr., Tom Sizemore, and Tommy Lee Jones. The film tells the story of two victims of traumatic childhoods who became lovers and mass murderers, and are irresponsibly glorified by the mass media.
Leer másEl nombre mapache proviene del náhuatl mapach,2 "que tiene manos", debido a la ya descrita capacidad prensil de sus garras delanteras. En inglés recibe el nombre de "raccoon" (pronunciación aproximada "racún"), que proviene del algonquino ärähkun, "el que se rasca con las manos" o "manos que rascan".[cita requerida] En otros idiomas recibe nombres relacionados con la ya citada costumbre de "lavar" algunos o todos sus alimentos en ríos o lagunas.


Hello World, I'm Brett.
I'm a Computer Engineering student at the University of Illinois Urbana-Champaign.
Welcome to my portfolio!
About
Nice to meet you! My name is Brett Lofendo. I am currently a senior at UIUC, pursuing a career in software or data engineering.
I have internship experience in mobile development and data engineering, with
additional interest in full-stack development. Working efficiently on a team is one of my
strongest qualities, as I prioritize effective communication between
myself as a developer and the end users. Some of my hobbies are entrepeneurship, trading, sports, fashion, and music.
Experience
Resume


About Us
We, Rodney and Jolanda Blevins, have been missionaries with YWAM since 1997. Through various missions and ministry trips throughout the years, we have impacted people in 16 different countries spanning five continents! Now serving with YWAM Y360 in Colorado Springs.


Testing - test/rackup/ci-*.ru files
Overview
Puma
should efficiently handle a variety of response bodies, varying both by size
and by the type of object used for the body.
Five rackup files are located in 'test/rackup' that can be used. All have their
request body size (in kB) set via Body-Conf
header or with ENV['CI_BODY_CONF']
.
Additionally, the ci_select.ru file can have it's body type set via a starting
character.
- ci_array.ru - body is an
Array
of 1kB strings.Content-Length
is not set. - ci_chunked.ru - body is an
Enumerator
of 1kB strings.Content-Length
is not set. - ci_io.ru - body is a File/IO object.
Content-Length
is set. - ci_string.ru - body is a single string.
Content-Length
is set. - ci_select.ru - can be any of the above.
All responses have 25 headers, total length approx 1kB. ci_array.ru and ci_chunked.ru contain 1kB items.
All can be delayed by a float value (seconds) specified by the Dly
header
Note that rhe Body-Conf
header takes precedence, and ENV['CI_BODY_CONF']
is
only read on load.
ci_select.ru
The ci_select.ru file allows a starting character to specify the body type in the
Body-Conf
header or with ENV['CI_BODY_CONF']
.
- a - array of strings
- c - chunked (enum)
- s - single string
- i - File/IO
A value of a100
would return a body as an array of 100 1kB strings.


fig trees female Fig Ficus Mearns male Taiwan figs species climate number syconia Typhoon phenology production {border-style coastal population leaf leaves px;} typhoons #ffffff;} wasp increased syconium meteorological pollinating change produce recovery typhoon Hengchun study tropical A-phase National Science average coral frequency phase ratio Chen Morakot Sciences Table global phenological plant reef temperature tree var. crops cyclones effects extreme factors local mature mearnsii pedunculosa rainfall survey uplifted wasps Ecology. Tzeng associated changes fig:leaf px; trees, {font-family Climate Data However, New September Taiwan, data font-size forest new represent species, therefore, total waves August Frog Life Moreover, Peninsula Rock Science. abundance affect analysis considered crop dioecious double; events grant harsh mutualistic plants populations posttyphoon produced receptive reported warming year Biology Chou Global Hsu In: Island Morakot, Pacific Phenology Project Research Resources Taiwan. Thus, Trail Typhoons Writing ability additional administration border-color border-width called case correlated curation damage droughts environment extinction flowering months mutualism obligate period pollinated pollinators risk significantly solid; south strong syconia. vegetation {font-style {font-weight *** ./j.-...x ./science. .°C Bain Change Council Ecology Female H-Y Islands Kenting Male NSC Phenological Phytologist. Plant Syconium Therefore, Wang approximately bold branches carbon change. courier; current defined distribution drought ecosystems editors. em; entire example, figs. following increasing individuals long observed occurred original past phase), pt;} remnant remnants reproductive review sea season senescent severe species. strategy subgenus summer withering


About Me
I am Michael L Johnson! One of the most widely used names. I've come a long way in this journey of computing. I have jumped around from many positions and job titles. I have professional experience ranging from the thrill of DJ'n and Bartending to slow moments in a law firm. Each one of them brought me closer to my overall objective. Coding! I've always had an interest in tech and bringing up new ideas. I know I'm just getting started, but I'm excited about where this is going to take me.


{% load static %}
Rugutt Libary Manager
Home
Search
Book Data
Login
Welcome to the Rugutt Book DataBase
Here you will be able to navigate throught the database to find the books that you are searching for
Search now


Class 10: Contest UTEC-UNI-UPC I
02-10-2020
“It takes courage to sail in uncharted waters”
Contest
In the gallery there are some pictures of the contest.
You can find the contest here.
The statements in PDF can be found in English and in Spanish.
The solutions are in this blog.
You need to be in the Codeforces Group to be able to see the contest and solutions. Try joining the group or write us if you have problems any problem.


Loading a program is accomplished by one of these predicates
[]
[
:File|
+Files]
load_files(
:Files)
load_files(
:Files,
+Options)
compile(
:File)
consult(
:File)
reconsult(
:File)
ensure_loaded(
:File)
The following notes apply to all the Load Predicates:
user
absolute_file_name/2
. For information on file names refer
to ref-fdi.
fileerrors
flag is set to
off
.
Errors detected during compilation, such as an attempt to redefine a built-in predicate, also cause exceptions to be raised. However, these exceptions are caught by the compiler, and an appropriate error message is printed.
on
, but can be turned
off
if desired by setting the appropriate flags, which are:
single_var_warnings
on
, warnings are printed when a sentence
(see ref-syn-syn-sen) containing variables not beginning with
`_' occurring once only is compiled or consulted.
redefine_warnings
on
, warnings are printed when:
discontiguous_warnings
on
, warnings are printed when clauses are not together in
source files, and the relevant predicate has not been declared
discontiguous
.
multifile
if its clauses
are to be spread across several different files. See the reference
page for multifile/1
.
load_files(Module:File)
can be used to load the file into the
specified module. See ref-mod-def, for information about
module-files. If a file being loaded is a module-file, it is
first loaded in the normal way, the source module imports all the
public predicates of the module-file except for use_module/[1,2,3]
and
load_files/[1,2]
if you specify an import list.
:-/1
or ?-/1
,
these are executed as they are encountered.
Only the
first solution of directives is produced, and variable
bindings are not displayed. Directives that fail or raise
exceptions give rise to warning or error messages, but do not terminate
the load. However, these warning or error messages can be
intercepted by the hook user:portray_message/2
, which can
call abort/0
to terminate the load, if that is the desired
behavior.
:- [otherfile].
In this case, if otherfile is a relative filename it is resolved with respect to the directory containing the file that is being loaded, not the current working directory of the Prolog system.
Any legal Prolog goal may be included as a directive. There is no difference between a `:-/1' and a `?-/1' goal in a file being compiled.
user
, or File is a list, and
during loading of the list user
is encountered, procedures are to
be typed directly into Prolog from user_input
, e.g. the terminal.
A special prompt,
`| ', is displayed at the beginning of every new clause entered
from the terminal. Continuation lines of clauses typed at the
terminal are preceded by a prompt of five spaces. When all clauses
have been typed in, the last should be followed by an end-of-file character, or
the atom end_of_file
followed by a full-stop.
user:term_expansion/6
and goal_expansion/5
, you can
specify any desired transformation to be done as clauses are loaded.
prolog_load_context/2
.
char_conversion/2
.


All, repeating, ALL dynamic messages should be set here!
SystemApp.Messages =
accessDenied: "Access denied!"
attention: "Attention!"
auditDataRefresh: "Audit data refresh"
availableSources: "Available sources..."
cancel: "Cancel"
createItem: "Create item"
createMaps: "create maps"
createMapText: "Please enter the new map name..."
createVariable: "Create new variable..."
current: "Current value"
custom: "Custom"
dataOutdated: "Data is not up-to-date!"
dataSaved: "Data saved!"
editThisMap: "edit this map"
elementsSelected: "elements selected"
error: "Error"
invalidRoute: "Invalid route!"
lastUpdate: "Last update"
localMapName: "My Local Map"
mapInfoStats: "#S shapes, #L links"
multipleShapesSelected: "Multiple shapes selected!"
newLink: "NEW LINK"
noIcon: "No icon"
noLabel: "No label"
noLabelsSet: "No labels set..."
noShapeSelected: "No shape(s) or link(s) selected"
pleaseSelectAnAlert: "Please select an alert..."
removeLink: "Remove link"
removeShape: "Remove shape"
rowActionCount: "# action(s)"
rowRuleCount: "# rule(s)"
saved: "Saved!"
saveDetails: "Save details"
saveVariable: "Save variable"
scheduledRefreshAlert: "The app is scheduled to refresh the whole page in a few seconds (#)!<br />
If you do not wish the page to refresh, please click on this panel."
scripted: "Scripted"
searchWatermark: "Search entities..."
server: "SERVER"
startLocalMapText: "Use the Local Test Map to try the System App features."
tooltipItemId: "Enter the unique ID for this model. No spaces or special characters allowed."
tooltipEventRuleComparator: "Select one of the alert comparator values: equals, not equals,
greater than w/wo, less than w/wo."
tooltipEventRuleSource: "Enter the alert SOURCE value. Can be a static or an audit data value (beginning with #)."
tooltipEventRuleTarget: "Enter the alert TARGET value. Can be a static or an audit data value (beginning with #)."
tooltipEventActionShapeId: "If you want the alert to happen on a specific shape, please enter the Shape ID here.
Otherwise it will happen on shapes that have the specified Audit Data property bound."
tooltipEventActionType: "Select one of the action types."
tooltipEventActionValue: "Enter the action value, which relates to its type. For example set the background colour
must have a valid colour as value."
tooltipAuditEventTitle: "Please enter the audit event TITLE here."
tooltipCreateVariable: "Click to validate and save the code above as a custom variable."
tooltipVariableCode: "Enter the custom variable name. That value must be UNIQUE!"
tooltipVariableName: "Enter the custom variable code here. You MUST add at least one return
clause for it to work properly."
tooltipDeleteItem: "Click to DELETE this item."
tooltipEditItem: "Click to EDIT this item."
tooltipLinker: "Click and drag to create a new link..."
tooltipResize: "Click and drag to resize..."
tooltipShapeAuditEventCheckbox: "Check / uncheck that audit event to the selected shape(s)."
customVarNameWatermark: "Give the variable a name..."
customVarCodeWatermark: "Enter the custom variable code..."
okDataSavedLocally: "All entities were persisted to the local storage."
errAuditDataRefreshCount: "Could not refresh # for #{SystemApp.Settings.auditData.alertOnErrorCount} times in a row.
Maybe the URL is wrong? Click on this box to open the Audit Events view for editing."
errCouldNotLoadFromServer: "Could not load data from server!"
errCreatingMap: "Could not create new map."
errEntityOutdated: "Entity #E objects haven't been updated since #D."
errEvalFailed: "Eval failed!"
errEvalReturn: "Eval must have a return statement!"
errInvalidRoute: "The path you have entered does not exist."
errMapDoesNotExist: "The specified map does not exist!"
errMapIsReadOnly: "This map is read-only and cannot be updated."
errMapNameExists: "There's already a map called #."
errNoPermissionTo: "You don't have the necessary permissions to #."
errParseModel: "Error while parsing data from server."
valAllFieldsEmpty: "All fields are empty!"
valDescriptionIsRequired: "A description is required."
valGridSizeTooSmall: "The grid size is too small. Minimum allowed is #{SystemApp.Settings.map.minGridSize}."
valInvalidUrl: "The entered URL is not valid."
valNameIsDuplicate: "The entered name already exists."
valNameIsRequired: "A name is required."
valPaperSizeTooSmall: "The paper size too small. Minimum is #{SystemApp.Settings.map.minPaperSize}."
valRefreshIntervalTooLow: "Refresh interval too low. Minimum is #{SystemApp.Settings.auditData.minRefreshInterval}."
valTitleIsRequired: "A title is required."
ScriptEditorInfo:
initScript: "The code below will be executed after the map has loaded on the browser."


Editor-in-Chief of IJRIAR
Check the submitted manuscript for format, Originality, Suitability of the paper and finally scope of the Journal. If authors failed to submit without following the guidelines of the Journal may be rejected or returned to the Corresponding author to set the paper in Journal format then only accepted for consideration.
After receiving a manuscript the Technical Editorial staff will conduct the Plagiarism with iThenticate or Turnitin software before submitting the papers to Reviewers or Editors. If Plagiarism is found in the submitted articles, we won't consider for publication.
After Review process the recommendations of the Editors or reviewers panel write to the Editor-In -Chief Editor should be one of the following


Enter something in the input box
Name :
You wrote : {{firstName}}
Data Binding Example
Quantity:
Price:
Total in dollars : {{quantity * price }}
The ng-repeat directive repeats an HTML element:
{{ x }}
Create a New Directive
Invoke a directive by using the Element Name
Invoke a directive by using the Attribute
Invoke a directive by using the class
Invoke a directive by using the comment


Mamun Khandaker
I'm doing fine. How about you?
Do you know why I knocked you today?
There's something important I would like to share with you. Do you have some time?
Mamun Khandaker
Yeah sure. Let's meet in the Einstein cafe this evening and discuss the matter.
Mamun Khandaker
I thought of coming to your place and discuss about it but I had to finish my projects and I didn't have enough time to go out of the house.


Sometimes there is a need to add logic to the Enum type. Since .Net enums are purely integers, the only alternative is to implement the so-called "Typesafe Enum" pattern by creating a class with fields for each enum value, possibly with subclasses defining value-specific behavior.
Since clipr cannot rely on a specific typesafe enum implementation, it defines a common set of criteria for identifying and parsing them.
- Enum values must be
public
,static
, andreadonly
fields of a class. - Fields must be the same type as the underlying enum or a subclass.
- Static enums may only be parsed by name: the name of the field. Parsing is case insensitive (using the Invariant culture).
- The class must be tagged with the
clipr.StaticEnumerationAttribute
attribute. If the attribute cannot be added to the class directly (such as third party types), but the class follows (1) and (2), the attribute may also be applied to the option property.
Sample:
[StaticEnumeration]
internal abstract class SomeEnum
{
public static readonly SomeEnum First = new EnumSubclass();
public abstract void DoSomeWork();
public class EnumSubclass : SomeEnum
{
public override void DoSomeWork() { }
}
}
internal class StaticEnumerationOptions
{
[NamedArgument('e')]
public SomeEnum Value { get; set; }
}
internal class StaticEnumerationExplicitOptions
{
[NamedArgument('e')]
[StaticEnumeration] // Allowed in case attr is not defined on SomeEnum
public SomeEnum Value { get; set; }
}
public static void Main()
{
var obj = CliParser.Parse<StaticEnumerationOptions>(
"-e first".Split());
Assert.AreSame(SomeEnum.First, obj.Value);
}


Anand B Pillai
<EMAIL_ADDRESS>@pythonhacker
Iterators are everywhere in Python
1 # iterating a list
2 for i in range(10):
3 print i
4
5 # iterating a dictionary by key
6 fruits = {'apple': 'red', 'grapes': 'green'}
7 for fruit in fruits:
8 print fruit
9
10 # iterating a set
11 import string
12 for alphabet in set(string.letters):
13 print alphabet
Idiomatic
Iterating a list
1 fruits = ['apple','mango','grapes','jackfruit','lemon']
2 for i in range(len(fruits)):
3 print fruits[i]
4
5 # Idiomatic - Use list as an iterator with no index
6 for fruit in fruits:
7 print fruit
Reversing a list
1 # Eh, ugly!
2 fruits = ['apple','mango','grapes','jackfruit','lemon']
3 for i in range(len(fruits)-1,-1,-1):
4 print fruits[i]
5
6 # Better
7 for fruit in fruits[-1::-1]:
8 print fruit
9
10 # Idiomatic
11 for fruit in reversed(fruits):
12 print fruit
Enumerating a list
1 # C-style
2 fruits = ['apple','mango','grapes','jackfruit','lemon']
3 for i in range(len(fruits)):
4 print i,'-->',fruits[i]
5
6 # Idiomatic
7 for i,fruit in enumerate(fruits):
8 print i,'-->',fruit
9
10 0 --> apple
11 1 --> mango
12 2 --> grapes
13 3 --> jackfruit
14 4 --> lemon
Why enumerate ?
1 # Create indexed dictionaries from lists
2 fruit_dict = {}
3 for i,fruit in enumerate(fruits):
4 fruit_dict[i] = fruit
5
6 # Idiomatic
7 fruit_dict = dict(enumerate(fruits))
8 {0: 'apple', 1: 'mango', 2: 'grapes', 3: 'jackfruit', 4: 'lemon'}
Sorting a list
1 languages = ['D', 'Ada','Python','Smalltalk','C','Ruby','Perl']
2 # Alpha numeric sort
3 languages.sort()
4 ['Ada', 'C', 'D', 'Java', 'Perl', 'Python', 'Ruby', 'Smalltalk']
5
6 # Sort by length - In place
7 languages.sort(key=len)
8
9 # Sort by length - produces new list
10 # Idiomatic
11 sorted(languages, key=len)
12 ['C', 'Ada', 'Java', 'Perl', 'Ruby', 'Python', 'Smalltalk']
Sorting to a field with the operator module
1 # Sort a website according to its alexa rank
2 topsites = {'google': 1,
3 'wikipedia': 6,
4 'linkedin': 8,
5 'yahoo': 4,
6 'baidu': 5,
7 'youtube': 3,
8 'facebook': 2,
9 'qq': 7}
10
11 import operator
12 [x[0] for x in sorted(topsites.items(), key=operator.itemgetter(1))]
13 ['google', 'facebook', 'youtube', 'yahoo', 'baidu', 'wikipedia',
14 'qq', 'linkedin']
Merge two lists
1 languages = ['Ada','C','Java', 'Perl','Python','Smalltalk']
2 whatithink = ['Old','Fundamental','Widely Used','Hacky','Cool']
3
4 # C-like, error-prone
5 n = min(len(languages), len(whatithink))
6 for i in range(n):
7 print 'I think',languages[i],'is',whatithink[i]
8
9 # Idiomatic - uses zip
10 for language, ithink in zip(languages, whatithink):
11 print 'I think',language,'is',ithink
12
13 I think Ada is Old
14 I think C is Fundamental
15 I think Java is Widely Used
16 I think Perl is Hacky
17 I think Python is Cool
Find if any member in a list satisfies a condition.
1 numbers = [1, 8, 10, 12, 15, 17]
2 # Find if any number is odd
3 flag = False
4 for num in numbers:
5 if num % 2:
6 flag = True
7 break
8
9 # More Pythonic
10 print len([num for num in numbers if num %2])
11
12 # Idiomatic
13 print any((num for num in numbers if num % 2))
Similary, find if all members in a list satisfies a condition
1 print all((num for num in nums if num % 2))
Make your own lists
A list comprehension contains at least one for statement and zero or more if statements.
1 # Produce squares of numbers
2 [x*x for x in range(10)]
3 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
4
5 # Produce squres of odd numbers
6 [x*x for x in range(10) if x % 2]
7 [1, 9, 25, 49, 81]
Using two indices
1 # Multiply two lists by using two indexes
2 # Example - Produce multiplication tables
3 # for numbers 1..10
4 dict([(y,[x*y for x in range(1,11)]) for y in range(1,11)])
5 {1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
6 2: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20],
7 3: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30],
8 4: [4, 8, 12, 16, 20, 24, 28, 32, 36, 40],
9 5: [5, 10, 15, 20, 25, 30, 35, 40, 45, 50],
10 6: [6, 12, 18, 24, 30, 36, 42, 48, 54, 60],
11 7: [7, 14, 21, 28, 35, 42, 49, 56, 63, 70],
12 8: [8, 16, 24, 32, 40, 48, 56, 64, 72, 80],
13 9: [9, 18, 27, 36, 45, 54, 63, 72, 81, 90],
14 10: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]}
Pros
Cons
Produce iterators that are memory-efficient
1 # Example - Fibonacci function
2 def fibonacci(n):
3 """ Fibonacci number using recursion """
4
5 if n in (0, 1):
6 return 1
7 else:
8 return fibonacci(n-1) + fibonacci(n-2)
Problems
Fibonacci
1 def fibonacci(n):
2 """ Fibonacci generator function """
3
4 x, y = 1, 2
5 for in range(n):
6 yield x
7 z = x + y
8 x, y = y, z
Generator Syntax
Pros
Cons
Iterating dictionary keys
1 country_capitals = {'India':'New Delhi','Germany':'Berlin',
2 'England':'London', 'Canada':'Ottawa',
3 'China':'Beijing','Norway':'Oslo'}
4
5 for country in country_capitals.keys():
6 print country,'-->',capital_dict[country]
7
8 # Idiomatic
9 for country in country_capitals:
10 print country,'-->',capital_dict[country]
11
12 for country,capital in country_capitals.iteritems():
13 print country,'-->',capital
Creating a dictionary from two lists
1 countries = ['India','Germany','England','Canada','China','Norway']
2 capitals = ['New Delhi','Berlin','London','Ottawa','Beijin','Oslo']
3
4 n = min(len(countries),len(capitals))
5
6 country_capitals = {}
7 for i in range(n):
8 country_capitals[countries[i]] = capitals[i]
9
10 # Idiomatic
11 for country,capital in zip(countries,capitals):
12 country_capitals[country] = capital
13
14 # Even better
15 # This form is called a "dict" comprehension
16 country_capitals = {country:capital for country,capital in
17 zip(countries,capitals)}
18
19 # Most concise
20 country_capitals = dict(zip(countries,capitals))
Grouping with dictionaries
1 fruits = ['apple','grapes','apple','mango','mango','apple',
2 'banana','orange','guava','sapota','apple','orange',
3 'litchi','strawberry','lemon','apple','grapes']
4
5 # Group according to counts
6 fruit_bag = {}
7 for fruit in fruits:
8 if fruit not in fruit_bag:
9 fruit_bag[fruit] = 0
10 fruit_bag[fruit] += 1
11
12 # Idiomatic
13 for fruit in fruits:
14 fruit_bag[fruit] = fruit_bag.get(fruit,0) + 1
15
16 print fruit_bag
17 {'sapota': 1, 'apple': 5,
18 'litchi': 1, 'strawberry': 1,
19 'mango': 2, 'grapes': 2,
20 'orange': 2, 'lemon': 1,
21 'guava': 1, 'banana': 1})
collections module
Provides the defaultdict type which is useful to create dictionaries that automatically set a key according to a type
1 # Grouping using defaultdict
2 fruit_bag = collections.defaultdict(int)
3 for fruit in fruits:
4 fruit_bag[fruit] += 1
With default list type
1 # Grouping according to length
2 fruits = ['apple','grapes','mango','banana','orange','guava',
3 'sapota','strawberry','lemon']
4
5 fruit_length = collections.defaultdict(list)
6 for fruit in fruits:
7 fruit_length[len(fruit)].append(fruit)
8
9 print fruit_length
10 defaultdict(<type 'list'>, {10: ['strawberry'],
11 5: ['apple', 'mango', 'guava', 'lemon'],
12 6: ['grapes', 'banana', 'orange', 'sapota']})
The itertools module provides a set of powerful functions for building iterators.
Most of the functions in itertools module return generators.
1 # itertools.count can provide an infinite counter.
2 for i in itertools.count(stop=100):
3 print i
4
5 # itertools.cycle cycles through an iterator
6 # Will keep printing 'python'
7 for i in itertools.cycle(['python']):
8 print i
Chaining iterators
itertools.chain allows to return elements from many iterators till each of them are exhausted.
1 import itertools
2 import collections
3
4 # Make a dictionary of alphabet counts of
5 # letters in a list of strings.
6 birds = ['parrot','crow','dove','peacock','macaw','hen']
7 frequency = collections.defaultdict(int)
8
9 for letter in itertools.chain(*birds):
10 frequency[letter] += 1
Filter data using selectors
itertools.compress filters elements from a sequence by applying a list of selectors which evaluates to True. Can be used to apply a list of filters against a list of elements.
1 # Drop every alternate letter in a string of alphabets
2 import string
3
4 for i in itertools.compress(string.letters, itertools.cycle([1,0])):
5 print i,
6
7 a c e g i k m o q s u w y A C E G I K M O Q S U W Y
8
9 # Drop students who failed to get marks above a cut-off
10 # in Python programming exam.
11 marks = {'Kiran': 93, 'Anand': 85, 'Soujanya': 92,
12 'Manohar': 98, 'Rakshith': 90, 'Nisha': 20}
13 # Make sure the list is sorted in both cases
14 selectors = [marks[student]>27 for student in sorted(marks)]
15
16 list(itertools.compress(sorted(marks), selectors))
17 ['Kiran', 'Manohar', 'Nisha', 'Rakshith', 'Soujanya']
Filtering elements based on condition
itertools.ifilter returns an iterator that applies a condition to elements in an iterator and returns elements that match the condition.
1 # An infinite iterator for odd numbers
2 for number in itertools.ifilter(lambda x: x%2, itertools.count()):
3 print number
Map a function to many iterables
itertools.imap is similar to map function in that it maps a function to an iterable and returns an iterator (map returns a list).
1 # Multiply items of two lists in order
2 for i in itertools.imap(operator.mul, [3,5,7,9], [2,3,4,5]):
3 print i
4 6
5 15
6 28
7 45
Group together elements using similar property
itertools.groupby allows to group elements in an iterable to groups based on a key function.
1 # Group together strings of same length.
2 birds = ['parrot','crow','dove','peacock','macaw','hen']
3
4 for k,g in itertools.groupby(sorted(birds,key=len), key=len):
5 print k,'-->',list(g)
6
7 3 --> ['hen']
8 4 --> ['crow', 'dove']
9 5 --> ['macaw']
10 6 --> ['parrot']
11 7 --> ['peacock']
Repeatedly return an object again and again
itertools.repeat itertools.repeat returns an object continously. An optional number of times can be specified as well.
1 # repeat and cycle can be combined to return items
2 # in an iterator a fixed number of times each.
3 for i in itertools.repeat(itertools.cycle(['python','java']), 3*2):
4 print i.next()
5
6 python
7 java
8 python
9 java
10 python
11 java
12
13 # A common use of repeat is to supply a continuous
14 # stream of values to imap.
15
16 # Produce tables of 7
17 import operator
18 list(itertools.imap(operator.mul, range(1,11), itertools.repeat(7)))
19 [7, 14, 21, 28, 35, 42, 49, 56, 63, 70]
More magic with iterators
You often need to write code that returns till it finds a sentinel value.
1 flag, data = False, []
2 # Keep producing random numbers till a specific value
3 sentinel = 49
4
5 while True:
6 num = random.randrange(1, 100)
7 if num == sentinel:
8 break
9 data.append(num)
10
11 # Idiomatic
12 import functools
13
14 # Freeze function with all its arguments
15 func = functools.partial(random.randrange, 1,100)
16
17 for num in iter(func, sentinel):
18 data.append(num)
Sentinel using itertools
You can right an equivalent code using a chain of itertools functions.
1 from itertools import cycle, takewhile, imap
2
3 # Warning - the code below might look like magic.
4 sentinel=49
5 list(takewhile(lambda x: x!=sentinel,
6 imap(random.randrange, cycle([1]), cycle([100]))))
Prime number generator using itertools
1 sieve = lambda n: not any(n % num==0 for num in range(2, int(pow(n,0.5))+1))
2
3 def prime():
4 """ Infinite prime number generator
5 using Erastosthenes sieve """
6
7 for num in itertools.ifilter(sieve, itertools.count()):
8 yield num
A generator expression is similar to a list comprehension, except that the expression produces an iterable generator, instead of a list.
Instead of the square brackets of a list comprehension, a generator expression uses parens.
1 # Generator expression producing an infinite
2 # square iterator.
3 ((x*x for x in itertools.count())
4
5 # Generator producing an infinite list of odd numbers
6 ((x for x in itertools.count() if x%2))
A generator expression is very useful where the final result is that matters instead of the actual list or iterable.
1 # Sum of first 100 natural numbers
2 sum((x for x in range(101)))
3 5050
4
5 # Find out if any of the number in a list of
6 # random numbers is odd
7 randlist = random.sample(range(100),10)
8 any((num%2 for num in randlist))
Simplified syntax
If you are using the generator expression as an input to a function such as sum, you can omit the outer parantheses.
1 sum(x for x in range(101))
2 5050
3
4 any(num%2 for num in random.sample(range(1,100), 20))
5 True
Rule of thumb - Generator expressions vs List comprehensions
Use list comprehensions where,
Use generator expressions where,
Summary
| Idiomatic Programming with Iterators | 1 |
|---|---|
| - | 2 |
| - | 3 |
| - | 4 |
| - | 5 |
| - | 6 |
| - | 7 |
| - | 8 |
| - | 9 |
| - | 10 |
| - | 11 |
| - | 12 |
| - | 13 |
| List comprehensions | 14 |
| - | 15 |
| - | 16 |
| - | 17 |
| Generators | 18 |
| - | 19 |
| - | 20 |
| - | 21 |
| Dictionaries | 22 |
| - | 23 |
| - | 24 |
| - | 25 |
| - | 26 |
| - | 27 |
| Itertools | 28 |
| - | 29 |
| - | 30 |
| - | 31 |
| - | 32 |
| - | 33 |
| - | 34 |
| - | 35 |
| - | 36 |
| - | 37 |
| - | 38 |
| Generator expressions | 39 |
| - | 40 |
| - | 41 |
| - | 42 |
| - | 43 |
| - | 44 |
| Feedback @pythonhacker | 45 |
| Table of Contents | t |
|---|---|
| Exposé | ESC |
| Full screen slides | e |
| Presenter View | p |
| Source Files | s |
| Slide Numbers | n |
| Toggle screen blanking | b |
| Show/hide slide context | c |
| Notes | 2 |
| Help | h |


Hi, I am a software developer, sith apprentice, and just a man (for now)
with experience in Microsoft tools, with expertise in job listing, financial business, air cargo, education and logistics. With capacity to adopt new technologies easily and apply them, I call myself 'Cacharrero' (Always wishing to learn something new, anxious to know how the world works), I am passionate about finding new ways of doing things, to make life easier for the people.
Skills
Professional
- DotNet Developer (C# Asp.Net, MVC, Azure...)
- Javascript (jQuery Bootstrap JSON AJAX Node Angular...)
- Git TFS Github and other software of source control
- Databases Design (SQL Server Oracle MySQL DB2 Mongo)
- Develop systems for anything you want
- SCRUM Methodology
Personal
- Obsessed with details
- Able to lead groups
- Love photography and music
- Like learning another tech
- If is necessary i gonna break the rules
- "Sometimes you have to despair a bit to get somewhere"
Experience
-
DevOps Engineer - BizagiJul, 2019
Perform productivity work for all Bizagi equipment and all its products, adjust and facilitate compilations of all the company's projects, manage git branches to ensure the code's history, make continuous integrations in Azure DevOps, automatic deployments, assurance of quality through the execution of automated tests in the cloud, and in turn integrate the entire compilation ecosystem with Slack, Hue, Teams, VSTS and other tools. Bizagi
-
Application Software Engineer - BizagiJun, 2018 ~ Jun, 2019
Bizagi BPMN Modeler is a freeware application to graphically diagram, document and simulate processes in a standard format known as Business Process Model and Notation (BPMN). Using Bizagi Modeler, processes can be published to Word, PDF, Wiki, Web or SharePoint, or exported to Visio, image formats (png, bpm, svg or jpg) and XPDL, to be shared and communicated across the organization. Bizagi
-
Software Development Coordinator - TeRecomiendo.comAugust, 2016 ~ May, 2018
TeRecomiendo.com platform development , architecture frontend and backend , job search platform , Management Technologies .Net , SQL Server, Azure , MVC , JavaScript , jQuery , Ajax, LinkQ , JSON , HTML 5 , among others. TeRecomiendo.com
-
Software Engineer - CargoMaster S.A.S.February, 2014 ~ June, 2016
Developing applications for air cargo and marine, especially flowers and fruit transport. Manage .Net technologies, SQLServer, DevExpress, Javascript, jQuery, Ajax, Asp Classic, WCF, MVC, LinQ, JSON, HTML5 among others, design and interfaces to ERP, accounting software, software development internal for rates.CargoMaster.ws
-
Team Leader - Soluciones Lógicas Yayan-Gaia (SLYG)August, 2011 ~ December 2013
Developing applications for the Group BRINKS (Brinks, Procesos y Canje, Domesa, e-Pago) used to service the financial sector such as Banco Agrario de Colombia, AV Villas, Citibank, Davivienda, Confinanciera, Credivalores, Crediservicios, Coomeva, and Pensiones y Cesantias Horizonte. Product development as Fluxus (BPM), Block (Software Construction). Management technologies .Net, SQL Server, Oracle, Postgres, MySQL, Reporting Services, WCF, Ajax, HTML5, jQuery Soluciones Logicas Yayan-Gaia
-
Systems Analyst - BankVisionJuly, 2009 ~ June 2011
Maintaining SQL Server and DB2 Databases, applications and Web development in .NET languages, reporting on ReportPortal with SQL, automated reporting, training, management meetings, development of applications for loan factorys, scoring, unique customer database, leadership projects.BankVision
Portfolio
-
Bizagi - Productivity Team
Perform productivity work for all Bizagi equipment and all its products, adjust and facilitate compilations of all the company's projects, manage git branches to ensure the code's history, make continuous integrations in Azure DevOps, automatic deployments, assurance of quality through the execution of automated tests in the cloud, and in turn integrate the entire compilation ecosystem with Slack, Hue, Teams, VSTS and other tools.
-
Bizagi - Team Modeler
Bizagi BPMN Modeler is a freeware application to graphically diagram, document and simulate processes in a standard format known as Business Process Model and Notation (BPMN). Using Bizagi Modeler, processes can be published to Word, PDF, Wiki, Web or SharePoint, or exported to Visio, image formats (png, bpm, svg or jpg) and XPDL, to be shared and communicated across the organization.
-
TeRecomiendo.com
MVC, Javascript, Azure, SQL and othersTeRecomiendo.com Help companies to find suitable candidates for operative charges, The portal is responsible for persons attending interviews fulfill requirements demanded facilitie
-
CargoMaster
Asp.Net SqlServer Javascript jQuery AWS and othersCARGOMASTER S.A., an international IATA and BASC certified freight forwarder which began operations in 1987 in the city of Bogotá, Colombia, and since it has specialized in the handling of cargo imports and exports. At present it also has branch offices in Medellín, Colombia; and in Quito and Guayaquil in Ecuador
-
SLYG
Asp.Net SQLServer jQuery Oracle and othersSoluciones Logicas Yayan-Gaia is a company that makes business management programs according the requirements of Colombian companies formed by a multidisciplinary team of experts in software architecture, design and document management processes. With five years of experience in the market, offering solutions to various economic sectors such as finance, construction, solidarity, health, among others
-
BankVision
Asp.Net SQlServer DB2 Javascript and othersBankVision product portfolio is geared to meet the demands of building software for companies of all sectors. BankVision specializes in the financial sector, which offers solutions for banks, commercial finance companies, investment funds, financial cooperatives and multiactive, compensation funds and generally companies engaged in financial business.
Weaknesses
Professional
- Perfeccionist
- Not graduated yet
Personal
- Sometimes I'm temperamental and timeless
- I get distracted easily
Sadly, in all my works they are internal developments, so I can not show you all the things I've done. But I'm working on a portfolio in github to see what I can do


Jones worried Saracens players may pick club over country
LONDON — England coach Eddie Jones says there is a concern the Saracens players in his squad may put club before country after their Premiership survival was threatened by a 35-points deduction for breaching salary cap regulations.
English and European champions Saracens, who were also fined 5.36 million pounds ($6.94 million), said on Monday they would not appeal the punishment.
Jones had nine Saracens players in his squad for the recent Rugby World Cup in Japan, including captain Owen Farrell, second row Maro Itoje, hooker Jamie George, full-back Elliot Daly, prop Mako Vunipola and his brother Billy, who plays at number eight.
"Obviously there may be some dislocation between Saracens players and the rest of the clubs," Jones told the BBC. "That's a reality.
"We may have to work to mend those relationships a bit harder and there might be some Saracens players who feel like they've got to play for their club instead of their country, to make sure they don't go down.
"It could have a significant impact. It's something we need to weigh up and look at very carefully."
As a result of the sanction, Saracens' current points tally will be adjusted to -22, leaving them 26 points adrift of 11th-placed Leicester Tigers.
England, who finished runners-up to South Africa at the World Cup, begin their Six Nations campaign against France on Feb 2.
© (c) Copyright Thomson Reuters 2019. Click For Restrictions - https://agency.reuters.com/en/copyright.html


Comments
-
Greg Hurrell
Haven't heard of Pandora before. Do you have a link for a site so I can learn what it is and what it does etc?
-
habesct
Pandora is part of the Music Genome Project. You tell it a band you like, and it will play a some from them, then other songs rom other artists that are similar in many ways. I find it an amazing way to discover new music, but very simialr to something you like. You can make channels of different groups as well.
Anyway the link is www.pandora.com
Check it out.
-
Greg Hurrell
Just got another request for this so adding some more info:
As this is a US-only service (non-US IP addresses are blocked) and I am not in the US, seems unlikely this will get implemented.
Ticket #597 is actually a dupe of this one, but I hadn't marked it as such yet. Here's the description for that one:
I've received a request for Pandora support, but it could be a little tricky for the time-being, because when I go to http://pandora.com/ this is what I see:
We are deeply, deeply sorry to say that due to licensing constraints, we can no longer allow access to Pandora for most listeners located outside of the U.S. We will continue to work diligently to realize the vision of a truly global Pandora, but for the time being we are required to restrict its use. We are very sad to have to do this, but there is no other alternative.
We believe that you are in Spain (your IP address appears to be <IP_ADDRESS>). If you believe we have made a mistake, we apologize and ask that you please contact us at<EMAIL_ADDRESS>I may be able to somehow route things through a proxy in the US (could be tricky) but until Pandora changes its policy or I find a technical workaround I'm just going to add this issue to the database so it doesn't get forgotten.
Add a comment
Comments are now closed for this issue.


1 reference to FullName
System.Management.Automation (1)
engine\CommandCompletion\CommandCompletion.cs (1)
801
string name = useFullName ? commandAndName.CommandName.
FullName
: commandAndName.CommandName.ShortName;


{% extends "layout_task-list.html" %} {% block page_title %} Money Claims Prototype {% endblock %} {% block home_link %} ../../task-list {% endblock %} {% block proposition_header %} {% set my_account="1" %} {% include "includes/propositional_navigation.html" %} {% endblock %} {% block content %} {% include "includes/phase_banner_beta.html" %} {% if data.return_page and data.return_page.includes('check-and-send') or data.return_page and data.return_page.includes('check-your-answers')%} {% else %} {% endif %} {{formData | safe}} Add your timeline of events Their timeline Date What happened 03/11/2017 I contacted {% if data.counterclaim=="true" %}Jan Clark{%else%}Mary Richards{% endif %} to discuss building works on our roof. 06/11/2017 We agreed what work should be done and signed a contract. 30/11/2017 The work started on the roof. 21/12/2017 The work on the roof was completed but I noticed that there was a problem with one section. 27/12/2017 I sent an email to Mary Richards and asked them to get the problem fixed. 15/01/2018 I hadn't had a reply so I told them I would be making a money claim. 27/12/2017 I sent an email to Mary Richards and asked them to get the problem fixed. 15/01/2018 I hadn't had a reply so I told them I would be making a money claim. Show more Show less Add your timeline of events (optional) Include dates if you know them. To change the order of your timeline, drag the entry up or down. Explain what happened Date For example, March 2021 What happened For example, you might have signed a contract Action {{data['cd-timeline-1']}} Remove Add new Add new Add any comments about their timeline (optional) {{data['defence-disagree-timeline']}} {% if data.return_page and data.return_page.includes('check-and-send') or data.return_page and data.return_page.includes('check-your-answers')%} Cancel {% else %} {% endif %} {% block page_scripts %} {% endblock %} {% include 'prototypes/prototype-oct-2019/includes/contact.html' %} {% endblock %}
Include dates if you know them.
To change the order of your timeline, drag the entry up or down.


WITNESS LIST Civil Practices Committee March 2, 2005-2:00P HB 68 For: Biggs, Adriana H. (Bexar County District Attorney's Office) Herberg, Jr., Clifford C. (Bexar County and The Bexar County District Attorney's Office) HB 282 For: Donley, Kris (DRC Directors' Council) On: Fleming, John (Self and State Bar Alternative Dispute Resolution Section) Schultz, Susan (Center for Public Policy Dispute Resolution) Summer, Jan (Center for Public Policy Dispute Resolution) HB 371 For: Dyer, Jay (Texas Association of Builders) Elder, Billy T. (Self) Against: Goldman, Virginia (Texas ACORN) McElroy, Toni (ACORN) Nava, Antelma (Self and Houston ACORN) Rubio, Martha (ACORN) On: Henneberger, John (Texas Low Income Housing Information Service, Border Low Income Housing Coalition) HB 497 For: Dyer, Jay (Texas Association of Builders) Against: Goldman, Virginia (ACORN Texas) McElroy, Toni (ACORN - Houston) Nava, Antelma (Self and Houston ACORN) Rubio, Martha (A.C.O.R.N) On: Henneberger, John (Texas Low Income Housing Information Service, Border Low Income Housing Coalition) HB 592 For: Dyer, Jay (Texas Association of Builders) Against: Goldman, Virginia (Texas ACORN) McElroy, Toni (ACORN - Houston) Nava, Antelma (Self and Houston ACORN) Rubio, Martha (A.C.O.R.N) On: Henneberger, John (Texas Low Income Housting Information Service, Border Low Income Housing Coalition) HB 1294 - Committee Substitute (Rose) For: Parsley, Lee (Texans for Lawsuit Reform) Against: Harvey, Jay (Self and Texas Trial Lawyers) Siegel, Charles S. (Texas Trial Lawyers Assn.) Watts, Mikal (Self and Watts Law Firm, LLP) On: Hecht, Nathan L. (Self and Supreme Court of Texas) HB 1310 On: Bloodsworth, Cindy (Dispute Resolution Center of Jefferson County)


public interface IDataTypes
Enumeration interface that defines int constants corresponding to all data query field types. Data query clients use these types for introspection of data query results.
IDataRow
| Modifier and Type | Field and Description |
|---|---|
static int |
BOOLEAN
Constant that represents Boolean parm types
|
static int |
DATE |
static int |
DECIMAL
Constant that represents fixed decimal parm types
|
static int |
DOUBLE |
static int |
ENUM |
static int |
FLOAT |
static int |
INTEGER
Constant that represents Integer parm types
|
static int |
ITEM_TYPE
Constant that represents IItemType parm types
|
static int |
LONG
Constant that represents Long parm types
|
static int |
STRING
Constant that represents String parm types
|
static int |
TIMESTAMP
Constant that represents Timestamp parm types
|
static java.lang.String[] |
TYPE_NAMES |
static int |
UUID
Constant that represents UUID parm types
|
static final int INTEGER
static final int BOOLEAN
static final int STRING
static final int TIMESTAMP
static final int UUID
static final int DECIMAL
static final int LONG
static final int ITEM_TYPE
static final int FLOAT
static final int DOUBLE
static final int DATE
static final int ENUM
static final java.lang.String[] TYPE_NAMES


Problem with Synergy
-
mpstrex
I love Synergy--it makes my life so much easier! I bought a serial number and put it in, but every time I shut down my computer and then turn it back on, say the next day, the controller disappears from the top right of my desktop. How can I keep it there so I don't have to re-install it every time I shut down and boot up?
Thanks,
Heath McKnight
-
Greg Hurrell
You definitely shouldn't have to reinstall it. You should be able to set it to launch at login automatically (if you want).
Go to the System Preferences application, then the Synergy preference pane. In the "General" tab there is a checkbox that you can set to "Launch Synergy at login".
If you already do have this checked and it's not working, uncheck it and click "Apply", then recheck it and click "Apply". This should force a refresh of your login items and make sure that Synergy launches the next time you log in.
Reply
This topic is now closed.


Fallout 76 Patch Difference Viewer (0.0.8)
Patch (left):
Update 19: 19th May, 2020
Update 20: 30th June, 2020
Update 21: 4th August, 2020
Update 21.1: 18th August, 2020
Update 22: 15th September, 2020
Update 22.1: 29th September, 2020
Update 23: 13th October, 2020
Update 24: 24th November, 2020
Update 24.1: 15th December, 2020
Update 25: 26th January, 2021
Update 26: 27th April, 2021
Update 27: 25th May, 2021
Update 28: 7th July, 2021
Update 29: 3rd August, 2021
Update 30: 8th September, 2021
Update 31: 19th October, 2021
Update 32: 8th December, 2021
Update 33: 1st March, 2022
Update 33A: 12th April, 2022
Update 34: 14th June, 2022
Update 37: 26th July, 2022
Update 38: 13th September, 2022
Update 39: 25th October, 2022
Update 40: 6th December, 2022
Update 41: 24th January, 2023
Update 42: 28th February, 2023
Update 43: 18th April, 2023
Update 44: 20th June, 2023
Update 45: 18th July, 2023 (latest)
Patch (right):
Update 19: 19th May, 2020
Update 20: 30th June, 2020
Update 21: 4th August, 2020
Update 21.1: 18th August, 2020
Update 22: 15th September, 2020
Update 22.1: 29th September, 2020
Update 23: 13th October, 2020
Update 24: 24th November, 2020
Update 24.1: 15th December, 2020
Update 25: 26th January, 2021
Update 26: 27th April, 2021
Update 27: 25th May, 2021
Update 28: 7th July, 2021
Update 29: 3rd August, 2021
Update 30: 8th September, 2021
Update 31: 19th October, 2021
Update 32: 8th December, 2021
Update 33: 1st March, 2022
Update 33A: 12th April, 2022
Update 34: 14th June, 2022
Update 37: 26th July, 2022
Update 38: 13th September, 2022
Update 39: 25th October, 2022
Update 40: 6th December, 2022
Update 41: 24th January, 2023
Update 42: 28th February, 2023
Update 43: 18th April, 2023
Update 44: 20th June, 2023
Update 45: 18th July, 2023 (latest)
Load all data
Reset
Load Editor IDs
Load Globals
Load Curve Tables
Load Leveled Lists
Filter by Group, FormID, Editor ID or Description:
Additions
Modifications
Removals
Sort by:
File order
FormID
Group + FormID
Editor ID (no ids last)
Editor ID (no ids first)


STATION 6 of 7
In 2013, Singapore enabled one of the first Mass-Engineered Timber (MET) constructions in Asia. However, most projects are to import the MET from Europe due to its Eurocode compliance. Due to year-round sunlight, tropical plantation species may grow up to four times faster than those in a temperate climate, which may eventually have relatively weak mechanical properties on their own but which may become suitable for construction use if developed into MET. For the sustainable future, Sky Timber project challenges a series of issues: I. Sustainable Tropical Forestry, II. Tropical MET Prototyping, III. Weathering and Humidity Resistance Testing and IV. Architectonics Studies.


Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
J
L
M
N
O
P
Q
R
S
T
U
V
W
H
handleApiQuery()
- Method in class net.floodlightcontroller.perfmon.
PerfMonDataResource
handledType()
- Method in class net.floodlightcontroller.core.web.serializers.
LinkTupleSerializer
Tells SimpleModule that we are the serializer for @LinkTuple
handledType()
- Method in class net.floodlightcontroller.core.web.serializers.
OFMatchJSONSerializer
Tells SimpleModule that we are the serializer for OFMatch
handledType()
- Method in class net.floodlightcontroller.perfmon.
CumulativeTimeBucketJSONSerializer
Tells SimpleModule that we are the serializer for OFMatch
handledType()
- Method in class net.floodlightcontroller.util.
EventHistoryBaseInfoJSONSerializer
Tells SimpleModule that we are the serializer for OFMatch
handledType()
- Method in class org.openflow.protocol.serializers.
OFFeaturesReplyJSONSerializer
Tells SimpleModule that we are the serializer for OFFeaturesReply
handledType()
- Method in class org.openflow.protocol.serializers.
OFMatchJSONSerializer
Tells SimpleModule that we are the serializer for OFMatch
handledType()
- Method in class org.openflow.protocol.serializers.
OFPhysicalPortJSONSerializer
Tells SimpleModule that we are the serializer for OFPhysicalPort
handleEvHistReq()
- Method in class net.floodlightcontroller.core.web.
EventHistoryTopologyClusterResource
handleEvHistReq()
- Method in class net.floodlightcontroller.core.web.
EventHistoryTopologyLinkResource
handleEvHistReq()
- Method in class net.floodlightcontroller.core.web.
EventHistoryTopologySwitchResource
handleException(Exception)
- Method in class net.floodlightcontroller.core.internal.
TerminationStorageExceptionHandler
handleException(Exception)
- Method in interface net.floodlightcontroller.storage.
IStorageExceptionHandler
handleOutgoingMessage(IOFSwitch, OFMessage, FloodlightContext)
- Method in interface net.floodlightcontroller.core.
IFloodlightProviderService
Process written messages through the message listeners for the controller
handleOutgoingMessage(IOFSwitch, OFMessage, FloodlightContext)
- Method in class net.floodlightcontroller.core.internal.
Controller
handleOutgoingMessage(IOFSwitch, OFMessage, FloodlightContext)
- Method in class net.floodlightcontroller.core.test.
MockFloodlightProvider
handleOutgoingMessages(IOFSwitch, List<OFMessage>, FloodlightContext)
- Method in class net.floodlightcontroller.core.test.
MockFloodlightProvider
HandshakeTimeoutException
- Exception in
net.floodlightcontroller.core.internal
Exception is thrown when the handshake fails to complete before a specified time
HandshakeTimeoutException()
- Constructor for exception net.floodlightcontroller.core.internal.
HandshakeTimeoutException
HandshakeTimeoutHandler
- Class in
net.floodlightcontroller.core.internal
Trigger a timeout if a switch fails to complete handshake soon enough
HandshakeTimeoutHandler(OFChannelState, Timer, long)
- Constructor for class net.floodlightcontroller.core.internal.
HandshakeTimeoutHandler
hasAttribute(String)
- Method in class net.floodlightcontroller.core.internal.
OFSwitchImpl
hasAttribute(String)
- Method in interface net.floodlightcontroller.core.
IOFSwitch
Checks if a specific switch property exists for this switch
hashCode()
- Method in class net.floodlightcontroller.core.types.
MacVlanPair
hashCode()
- Method in class net.floodlightcontroller.devicemanager.internal.
Device
hashCode()
- Method in class net.floodlightcontroller.devicemanager.internal.
Entity
hashCode()
- Method in class net.floodlightcontroller.devicemanager.internal.
IndexedEntity
hashCode()
- Method in class net.floodlightcontroller.devicemanager.
SwitchPort
hashCode()
- Method in class net.floodlightcontroller.flowcache.
PendingSwRespKey
hashCode()
- Method in class net.floodlightcontroller.linkdiscovery.
LinkInfo
hashCode()
- Method in class net.floodlightcontroller.linkdiscovery.
LinkTuple
hashCode()
- Method in class net.floodlightcontroller.linkdiscovery.
SwitchPortTuple
hashCode()
- Method in class net.floodlightcontroller.packet.
ARP
hashCode()
- Method in class net.floodlightcontroller.packet.
BasePacket
hashCode()
- Method in class net.floodlightcontroller.packet.
BSN
hashCode()
- Method in class net.floodlightcontroller.packet.
BSNPROBE
hashCode()
- Method in class net.floodlightcontroller.packet.
Data
hashCode()
- Method in class net.floodlightcontroller.packet.
DHCPOption
hashCode()
- Method in class net.floodlightcontroller.packet.
Ethernet
hashCode()
- Method in class net.floodlightcontroller.packet.
ICMP
hashCode()
- Method in class net.floodlightcontroller.packet.
IPv4
hashCode()
- Method in class net.floodlightcontroller.packet.
LLDP
hashCode()
- Method in class net.floodlightcontroller.packet.
LLDPOrganizationalTLV
hashCode()
- Method in class net.floodlightcontroller.packet.
LLDPTLV
hashCode()
- Method in class net.floodlightcontroller.packet.
TCP
hashCode()
- Method in class net.floodlightcontroller.packet.
UDP
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
Message
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
Packet
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
PacketStreamer.getPackets_args
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
PacketStreamer.getPackets_result
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
PacketStreamer.pushMessageAsync_args
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
PacketStreamer.pushMessageSync_args
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
PacketStreamer.pushMessageSync_result
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
PacketStreamer.terminateSession_args
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
PacketStreamer.terminateSession_result
hashCode()
- Method in class net.floodlightcontroller.packetstreamer.thrift.
SwitchPortTuple
hashCode()
- Method in class net.floodlightcontroller.perfmon.
OneComponentTime
hashCode()
- Method in class net.floodlightcontroller.routing.
Link
hashCode()
- Method in class net.floodlightcontroller.routing.
Route
hashCode()
- Method in class net.floodlightcontroller.routing.
RouteId
hashCode()
- Method in class net.floodlightcontroller.storage.
StorageSourceNotification
hashCode()
- Method in class net.floodlightcontroller.topology.
Cluster
hashCode()
- Method in class net.floodlightcontroller.topology.
NodePair
hashCode()
- Method in class net.floodlightcontroller.topology.
NodePortTuple
hashCode()
- Method in class net.floodlightcontroller.topology.
OrderedNodePair
hashCode()
- Method in class net.floodlightcontroller.util.
MACAddress
hashCode()
- Method in class org.openflow.protocol.action.
OFAction
hashCode()
- Method in class org.openflow.protocol.action.
OFActionDataLayer
hashCode()
- Method in class org.openflow.protocol.action.
OFActionEnqueue
hashCode()
- Method in class org.openflow.protocol.action.
OFActionNetworkLayerAddress
hashCode()
- Method in class org.openflow.protocol.action.
OFActionNetworkTypeOfService
hashCode()
- Method in class org.openflow.protocol.action.
OFActionOutput
hashCode()
- Method in class org.openflow.protocol.action.
OFActionTransportLayer
hashCode()
- Method in class org.openflow.protocol.action.
OFActionVendor
hashCode()
- Method in class org.openflow.protocol.action.
OFActionVirtualLanIdentifier
hashCode()
- Method in class org.openflow.protocol.action.
OFActionVirtualLanPriorityCodePoint
hashCode()
- Method in class org.openflow.protocol.
OFError
hashCode()
- Method in class org.openflow.protocol.
OFFeaturesReply
hashCode()
- Method in class org.openflow.protocol.
OFFlowMod
hashCode()
- Method in class org.openflow.protocol.
OFFlowRemoved
hashCode()
- Method in class org.openflow.protocol.
OFMatch
hashCode()
- Method in class org.openflow.protocol.
OFMessage
hashCode()
- Method in class org.openflow.protocol.
OFPacketIn
hashCode()
- Method in class org.openflow.protocol.
OFPacketOut
hashCode()
- Method in class org.openflow.protocol.
OFPhysicalPort
hashCode()
- Method in class org.openflow.protocol.
OFPortMod
hashCode()
- Method in class org.openflow.protocol.
OFPortStatus
hashCode()
- Method in class org.openflow.protocol.
OFStatisticsMessageBase
hashCode()
- Method in class org.openflow.protocol.
OFSwitchConfig
hashCode()
- Method in class org.openflow.protocol.
OFVendor
hashCode()
- Method in class org.openflow.protocol.statistics.
OFAggregateStatisticsReply
hashCode()
- Method in class org.openflow.protocol.statistics.
OFAggregateStatisticsRequest
hashCode()
- Method in class org.openflow.protocol.statistics.
OFDescriptionStatistics
hashCode()
- Method in class org.openflow.protocol.statistics.
OFFlowStatisticsReply
hashCode()
- Method in class org.openflow.protocol.statistics.
OFFlowStatisticsRequest
hashCode()
- Method in class org.openflow.protocol.statistics.
OFPortStatisticsReply
hashCode()
- Method in class org.openflow.protocol.statistics.
OFPortStatisticsRequest
hashCode()
- Method in class org.openflow.protocol.statistics.
OFQueueStatisticsReply
hashCode()
- Method in class org.openflow.protocol.statistics.
OFQueueStatisticsRequest
hashCode()
- Method in class org.openflow.protocol.statistics.
OFTableStatistics
hashCode()
- Method in class org.openflow.protocol.statistics.
OFVendorStatistics
hasNext()
- Method in class net.floodlightcontroller.devicemanager.internal.
DeviceIndexInterator
hasNext()
- Method in class net.floodlightcontroller.storage.
ResultSetIterator
hasNext()
- Method in class net.floodlightcontroller.util.
FilterIterator
hasNext()
- Method in class net.floodlightcontroller.util.
IterableIterator
hasNext()
- Method in class net.floodlightcontroller.util.
MultiIterator
hasNonNullKeys()
- Method in class net.floodlightcontroller.devicemanager.internal.
IndexedEntity
Check whether this entity has non-null values in any of its key fields
healthCheck()
- Method in class net.floodlightcontroller.core.web.
HealthCheckResource
HealthCheckResource
- Class in
net.floodlightcontroller.core.web
HealthCheckResource()
- Constructor for class net.floodlightcontroller.core.web.
HealthCheckResource
HealthCheckResource.HealthCheckInfo
- Class in
net.floodlightcontroller.core.web
HealthCheckResource.HealthCheckInfo()
- Constructor for class net.floodlightcontroller.core.web.
HealthCheckResource.HealthCheckInfo
HexString
- Class in
org.openflow.util
HexString()
- Constructor for class org.openflow.util.
HexString
HexStringTest
- Class in
org.openflow.util
Does hexstring conversion work?
HexStringTest()
- Constructor for class org.openflow.util.
HexStringTest
HostResource
- Class in
net.floodlightcontroller.virtualnetwork
HostResource()
- Constructor for class net.floodlightcontroller.virtualnetwork.
HostResource
HostResource.HostDefinition
- Class in
net.floodlightcontroller.virtualnetwork
HostResource.HostDefinition()
- Constructor for class net.floodlightcontroller.virtualnetwork.
HostResource.HostDefinition
hshaServer(PacketStreamer.Processor<PacketStreamerHandler>)
- Static method in class net.floodlightcontroller.packetstreamer.
PacketStreamerServer
The function to create a thrift Half-Sync and Half-Async Server.
Hub
- Class in
net.floodlightcontroller.hub
Hub()
- Constructor for class net.floodlightcontroller.hub.
Hub
HubTest
- Class in
net.floodlightcontroller.hub
HubTest()
- Constructor for class net.floodlightcontroller.hub.
HubTest
HW_TYPE_ETHERNET
- Static variable in class net.floodlightcontroller.packet.
ARP
HWTYPE_ETHERNET
- Static variable in class net.floodlightcontroller.packet.
DHCP
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV LETTER
NEXT LETTER
FRAMES
NO FRAMES
All Classes
A
B
C
D
E
F
G
H
I
J
L
M
N
O
P
Q
R
S
T
U
V
W


| DOSE: |
50 mg |
oral |
2C-C |
(powder / crystals) |
I had been looking forward to trying this chemical for a while as it looked appeared to provide an experience similar to 2C-I, but with less stimulation and a shorter duration. As far as psychedelics, I have tried Mushrooms, 2C-I, 2C-E, Mescaline cacti, Ayahuasca, LSD, DIPT, 5-MeO-DMT, 2C-D, 2C-T-4, HBWR seeds, DPT, and 2C-T-21. I have had +++ or stronger experiences with 8 of the 12 listed above. I am also a regular, almost daily Cannabis smoker.
17:00/T-1:00 -- I am pleasantly surprised to learn that the 250mg container actually contains 310mg of chemical. That's one extra trip FREE!
17:45/T-0:15 -- My partner and I decide on taking 50mg each for our first times. This has me mildly paranoid, but I have had too many disappointingly mild experiences lately. Also, both of us seem to respond to drugs about equally and we are average to mildly resistant to phenethylamines (albeit a bit sensitive to tryptamines usually). We have no definite way of verifying the identity of the chemical. The sample is rather fluffy in a way that reminds me of the first batch of 2C-E I received. This 2C-C is not as fluffy as the 2C-E, but it isn't the fine white powder that 2C-I appears as.
18:00/T0:00 -- I taste-test a drop of 2C-C/H2O solution. 2C-C tastes especially bitter. The soapy taste of 2C-E is definitely not there. The sweetness of 2C-I is also not there, but the rubbery/swimming-pool aspect is there. I am feeling confident enough that this stuff is 2C-C that I'm willing to drink it. The solution tastes quite dreadful and we both require 3 separate gulps to get it down.
18:15/T+0:15 -- I finally feel the first alert. I usually feel alerts from chems including 2C-I in about 5 minutes. 2C-E often doesn't show until 20 minutes. I'm still pretty paranoid, but remind myself to have patience.
18:30/T+0:30 -- The feelings are starting to increase now. I feel more assured now as this is the point in which the nausea usually kicks in for most things. My stomach is completely undisturbed. I'm feeling less effect now than I would be with 2C-I.
18:40/T+0:40 -- Wow! This is ramping up pretty quickly now as I'm already at a mild ++. I have little reason to doubt that this isn't 2C-C. There is a 'softening' effect in the vision which is very similar to that of 2C-I. I am also feeling the delightful 'soft skin' tactile sensations that I also recognize from 2C-I but not others. Completely absent is any of the nervousness or tension that 2C-I usually provides. I feel too good and relaxed already to worry about whether or not I what I actually took was 2C-C.
18:50/T+0:50 -- We've been sitting in the living room for the last 30 minutes or so. About 5 minutes ago, the open-eye-visuals became apparent. Our tapestries are cycling in a strange manner that we try to and fail to appropriately verbalize. The body high is simply wonderful, and there are still no side-effects to speak of. Even the mucous flow that I commonly feel with psychedelics, especially 2C-I, is absent.
19:30/T+1:30 -- The trip has been gradually getting stronger. I love how relaxed and easy going it is. At this point, I am feeling the effects pretty strongly; however, I have not broken past '++' yet. The 'dirty carpet' visual phenomenon that we experience with 2C-I appears to occur with 2C-C as well. At this point, I actually volunteer to vacuum the living room floor which turns out to be a great plan. The vacuuming is completed quickly, and we are both pleased at how much nicer the floor is to look at. There is some gunk in the sinuses, but much less so than with 2C-I.
19:45/T+1:45 -- I'm still waiting to 'peak' and break-through. Smoking Cannabis seems to be in order. We trade a few hits of exceptionally high potency bud. For me this has little impact on the body, but my mind is now a bit more spaced out, and the closed-eye visuals have been rather intense.
20:00/T+2:00 -- We smoked in the bedroom, and we haven't left yet. In fact, we are enjoying ourselves quite a bit. I remark that the compound seems deeper than 2C-I because of its relaxed temperament. I am also reminded of a commonly repeated comment in PiHKAL: 'This is definitely not anti-erotic.' It sounds like a sarcastic way of stating that one simply can't get enough. This seems appropriate at this time.
The effects already seem to have dropped off considerably, but we are too busy enjoying 'ourselves' to really care. I do seem to be enjoying the erotic intimacy more than the tactile sensations. It reminds me a bit of MDMA in that way. The sensations aren't much more sexy than usual, but being with her sure feels good.
21:30/T+3:30 -- Orgasm was fantastic (as always with psychedelics and Cannabis), and we both finished together. More and more Cannabis is smoked. As I feel this wonderful state of mind slipping away, I desperately try to preserve it, to no avail: the Cannabis has very little effect. The visuals, both open-eye and closed-eye are pretty much gone. There is still some of the tactile high remaining.
22:00/T+4:00 -- We head out for a walk as a means of working out tension. Walking seems to reduce the chances of headaches in my partner who is a bit susceptible to them with phenethylamines. It is very warm and we feel quite comfortable. A train nearby suddenly puts on its brakes which provides a most unusual and fantastic sounding symphony of squeals, coming from many different directions. The walk is brief as our appetites are quickly growing despite the food we ate before our departure.
22:30/T+4:30 -- We start cutting up vegetables in preparation for dinner. We're both feeling pretty stoned. There isn't much left from the 2C-C as far as we can tell. My partner is apparently not thoroughly 'satisfied' and has to retreat to the bedroom while I finish chopping the vegetables.
23:30/T+5:30 -- We smoke more Cannabis, sit down for dinner, and enjoy thick rice noodles stir-fried Thai style with basil with salmon. The recipe was of my own creation and it was my first time attempting to prepare such a dish. The dinner turned out to be fantastic; we only wish we had been able to pick up thai-basil instead of sweet-basil at the market.
00:00/T+6:00 -- More Cannabis is smoked, ice cream is eaten for dessert, and we watch a South Park Episode followed by an episode of Red Dwarf.
01:00/T+7:00 -- We're pretty tired and head off to bed. I'm rather stoned, but feeling virtually nothing from the 2C-C. Even the open-eye visuals are no better than they would be with Cannabis alone. We both have slight headaches. We chat in bed for a bit, fool around some, and then drift off within the hour.
--- day after ---
My partner wakes up and meets her mother for breakfast. Later on, I wake up from some realistic and mildly disturbing dreams inspired by my school related anxieties. Upon waking, I immediately notice how good my body feels. I also don't have a headache, in fact I don't have anything resembling a hang-over. I'm just feeling just great today. This is very nice as 2C-I often makes me feel a bit strung-out the day after despite having a lots of energy.
We both considerably enjoyed our experiences, although I was a bit disappointed by the limited intensity and short duration. Neither of us really broke past a ++, and the more intense part of the experience lasted for about half an hour. This, along with the high dosage requirement, is the major drawback of this chemical in our opinions. I would have been much happier if the deeper part of the experience lasted maybe one and a half hours, but it was there and gone so quickly. We also felt the effects were mostly gone long before the end of 8 hours as is suggested in PiHKAL.
On the plus side, this chemical has less body load than any other we've tried, including 2C-T-21. If we were to experiment with this chem orally again, my partner and I would probably choose a dose in the 60-70mg range. Still, we doubt that we will be able to get much more out of the experience that way. Our next experiments with 2C-C will involve administering it in smaller amounts in combination with 2C-T-21. We also intend to try the rectal administration method in the interest of economy and in hopes of shortening the onset of the experience which is a bit too gradual for the measly half-hour peak that it provides.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


SLIDER REVOLUTION TYPOGRAPHY UNLIMITED POSSIBILITIES go and grab it today S mplified CUSTOMIZED READY TO EXAMPLES use


THE OTHER SISTER (M). (Touchstone/Buena Vista International) Director: Garry Marshall Stars: Diane Keaton, Juliette Lewis, Tom Skerritt, Giovanni Ribisi, Poppy Montgomery, Hector Elizondo, Juliet Mills, Linda Thorson Running time: 129 minutes.
This romantic comedy about two intellectually handicapped people who fall in love is also cloaked with the melodramatic excesses of the typical dysfunctional family drama. This results in a film that is manipulative, overly sentimental, saccharine and mawkish. But The Other Sister will also have audiences unashamedly blubbering in the aisles.
The Tate family is the scion of the local community. However, the three Tate sisters are something of a disappointment, particularly to their mother Elizabeth (Diane Keaton), who is aware of her prominent position in the social elite. One of her daughters is a workaholic lesbian, one is a determined under achiever, while the other sister, Carla (Juliette Lewis), is intellectually handicapped. For ten years, Carla has been shut away in an exclusive special school, but now she has returned home.
Carla is determined to live life on her own terms, with independence from her over protective family. But first she has to escape from her domineering, smothering mother, who is too wrapped up in her social status to really listen to the concerns of her three daughters or share in their experiences. Father Radley (Tom Skerritt) is more sympathetic to their needs, but finds it hard to accede to their wishes without some sort of conflict.
Carla wants to attend a local school, so that she can learn vital skills and further cement her independence. At the polytech, she meets Danny McMann (Giovanni Ribisi, from Saving Private Ryan, etc), who is also intellectually handicapped. He loves brass bands, but is not quite as self confident as Carla. He lives in a small apartment, begrudgingly funded by his father, but is watched over by the sympathetic caretaker Jerry (Hector Elizondo). Romance slowly blossoms between the two, but it is not always a smooth or happy path.
This awkwardly titled film gives Keaton and a surprisingly strong Lewis plenty of big scenes in which they can emote for all they're worth, and their clashes fire up the screen. An often under rated actor, Skerritt plays the stereotypical, understanding father with compassion, although the script doesn't give him much to work with. Ribisi is also solid, although his mannered performance occasionally reminds audiences of his character from the sitcom Friends. The rest of the cast, including Aussie actress Poppy Montgomery (recently seen in Dead Man On Campus), seem to get lost and fail to leave much of an impression on the material.
Director Garry Marshall (Pretty Woman, etc) gives audiences a roller coaster ride of emotions, mixing humorous scenes with revealing emotional moments, to great effect. Although he comes from a background in television sitcoms, Marshall is no slouch when it comes to tugging the heart strings of his audience either (check out Beaches, etc). Marshall and co-writer Bob Bruner throw everything into the mix of this uneven and over long film, and there is plenty of unnecessary padding. Some scenes seem embarrassing and uncomfortable, while others work beautifully. The film is often quite predictable, and numerous references to the seminal The Graduate also telegraph several key plot developments.
Nonetheless, The Other Sister is a wonderful example of the sort of sentimental weepie that Hollywood does so well. But not often enough!
*** greg king http://www.netau.com.au/gregking
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Basic Demo - Textured cube with CSS animations.
Bubble Pop! Shaders, environment maps, and using the DOM to create and destroy objects.
Glam City - an imported COLLADA model with an animated camera.
Post-Processing and Particle Systems demo.
A simple textured cube. Interactive 3D content in 8 lines of markup and CSS.
A hierarchical scene, demonstrating several visual types and grouping.
Animation basics: using CSS to drive 3D animations.
An animated hierarchical scene with several CSS keyframes.
Basic interaction. Add DOM event handlers to any object.
Create meshes with vertices, normals, colors and texture coordinates.
Create line sets with GLAM.
3D text, flat and extruded.
Particle systems demo.
Demonstrates importing an external model in a 3D standard 3D format.
Sphere with bump-mapping.
Earth sphere with normal-mapping.
Fresnel-shaded reflection and refraction effect.
Animate textures using a programmable shader.
Skybox (cube map) scene background.
Skysphere (panoram) scene background.
Simple cube with dot-shader "Lichtenstein" post-processing effect.
Scene with several post-processing effects and particle systems.
Glam City demo using Web VR APIs (Oculus Renderer and Camera Controller)
Fresnel shader demo in VR (Oculus Renderer and Camera Controller).
Spherical pano viewer in VR ( (Oculus Renderer and Camera Controller).


Join our community of 20,000+ developers and content creators on their mission to build better sites and apps.


| TEP: | 129 |
|---|---|
| Group: | Storage Working Group |
| Type: | Documentary |
| Status: | DRAFT |
| TinyOS-Version: | 2.x |
| Authors: | David Moss
Junzhao Du Prabal Dutta Deepak Ganesan Kevin Klues Manju Ajay Martin and Gaurav Mathur |
Note
This memo documents a part of TinyOS for the TinyOS Community, and requests discussion and suggestions for improvements. Distribution of this memo is unlimited. This memo is in full compliance with TEP 1.
The storage abstractions proposed by TEP 103 are implemented on a platform-dependent basis. A version of BlockStorage, ConfigStorage, and LogStorage were created from the ground up for both the AT45DB and ST M25P80 flash chips. Looking forward into the further growth and development of hardware, rebuilding each of these storage layers for every new flash chip will be time consuming and cause compatibility issues.
We propose versions of BlockStorage, ConfigStorage, and LogStorage be built on top of a platform-independent interface. This would allow one version of each to exist on multiple platforms. Platform-independent implementation concepts are discussed along with recommended solutions, and changes are proposed to the interfaces defined by TEP 103.
The implementations of the BlockStorage, ConfigStorage, and LogStorage layers described in TEP 103 [1] are platform-dependent. Platform- dependent implementations can cause behavioral and usage differences as well as compiling problems when attempting to port an application written on one platform to another.
Building upon the DirectStorage, DirectModify, and VolumeSettings abstraction layers defined in TEP128 [2], the three basic storage solutions can be implemented in a platform-independent manner. This requires combining all properties of various memory types, which aids in the creation of platform-independent storage solutions. Behavioral differences are minimized, and applications using the platform-independent storage layers can expect to work the same way on different types of non-volatile memory.
The DirectStorage interface initially stemmed from the BlockStorage interface with differences in interfaces, organization, and erase behavior, as well as the additional VolumeSettings interface. To implement BlockStorage on DirectStorage, the erase behavior must be extended to erase the entire volume instead of an individual erase unit.
VolumeSettings can first be accessed to determine the total number of erase units in the currently mounted volume. Looping through these erase units, DirectStorage is accessed to erase() each one. At the end of the erase operation, the entire volume is set back to fill bytes (0xFF).
Previous BlockStorage interfaces were divided into BlockRead and BlockWrite. This was found to be cumbersome because applications typically required access to both interfaces. The getSize() is unnecessary due to the addition of the VolumeSettings interface. All other BlockStorage commands can simply pass through to their respective DirectStorage functions. This TEP proposes the following unified BlockStorage interface::
interface BlockStorage { command error_t read(uint32_t addr, void *buf, uint32_t len); command error_t write(uint32_t addr, void *buf, uint32_t len); command error_t erase(); command error_t flush(); command error_t crc(uint32_t addr, uint32_t len, uint16_t baseCrc); event void readDone(uint32_t addr, void *buf, uint32_t len, error_t error); event void writeDone(uint32_t addr, void *buf, uint32_t len, error_t error); event void eraseDone(error_t error); event void flushDone(error_t error); event void crcDone(uint16_t calculatedCrc, uint32_t addr, uint32_t len, error_t error); }
As described in TEP 103, logging can be implemented using two different methods: linear and circular. A linear log fills up its volume and stops when it comes to the end. A circular log allows at least half of its volume to remain valid while continuing to write the other half. As previously described, this requires at least two erase units to be effective.
Both logging behaviors can be implemented using the same code. A flag for linear log behavior prevents the logger from freeing up an erase unit in which to continue writing.
It should also be noted that the use of a circular log mandates the use of at least two erase units on the volume. As discussed in TEP128 [2], forcing volumes to contain at least two erase units solves this issue.
In the previous LogStorage implementations, reboots cause data to be lost or overwritten because the beginning and ends of the log were never located. Preventing previously stored data from being lost or overwritten after reboot is critical for the successful use and integration of logging storage components within a practical, deployable system.
A method is required on boot to locate the first memory location to read from as well as the next available memory location to write to. Although one method is to use microcontroller user memory to store the information, the goal is to avoid relying on external support due to cross-platform compatibility reasons. Luckily, storing and updating this information on the volume itself is easier than it seems.
Flash cannot overwrite areas of memory it has already written without performing a read-modify-write operation, and this operation is not supported on many flash types. Regardless of whether the memory type can support modifications, all types of memory - including EEPROM - should take wear-leveling into account. Combining these properties, it is possible to design a method of maintaining and updating logging start and stop information in a cross-platform compatible manner.
The method of locating logging properties on boot is simplified by making entries aligned to erase unit boundaries, never allowing a single entry to bridge erase units. This also prevents invalid entries from being created as a result of erasing an erase unit.
To find the first available write address to add new log entries, the first header entry on each erase unit is evaluated to find the greatest 32-bit "cookie" value that is not fill-bytes (0xFFFFFFFF). The erase unit with the largest value contains the newest data. Next, each entry in that erase unit can be iterated through by reading each header and skipping the length of the header + data, until a header with the value 0xFFFFFFFF is located. The address of this location is the first available address to write.
Finding the first available address for reading involves the same process. The first header entry on each erase unit is evaluated to find the lowest 32-bit "cookie" value. The entry with the lowest value is the beginning of the log.
The first entry to read from and last address to write to MUST be located on platform boot.
The previous M25P80 log storage implementation is a good place to start. In it, each write consists of a 32-bit header "cookie" and the data to be appended to the log. Locating the beginning of the log is therefore a matter of finding the lowest header cookie value. If this were to be implemented so entries align with erase unit boundaries, only the first header of each erase unit needs to be checked for the lowest value.
32-bits leaves plenty of space to increment log entry values for. If the log were to append one chunk of data every second, it would take 136.1 years before the 32-bit header recycles to 0 and causes an issue in properly locating the first and last log entries. This is well beyond the expected lifetime of a deployed system.
Each header entry can provide additional support for every data entry by allowing it to track the amount of appended data as well as an optional 8-bit CRC to verify the data is valid::
typedef struct log_header_t { uint32_t cookie; uint8_t length; uint8_t crc; } log_header_t;
When the logger appends to the next erase unit boundary, it can first erase it to ensure future appends are not corrupted by existing bytes. At the point where it reaches the end of its volume, the 'circular' logging flag can be used to determine if the logger should go back to the beginning of the volume and continue writing. Again, this is performed in conjunction with the VolumeStorage interface to determine erase unit properties.
After the first log entry is located, entries are extracted by first reading the header of a single entry, and using the information from the header to pull out the subsequent log information. After each read, the read pointer is updated to point to the read location of the next header.
If the header ID is fill bytes (0xFFFFFFFF), then the entry is invalid and the read process has reached the end of the log. As with the ST M25P80 implementation, entries may be randomly seeked by providing the 32-bit "cookie" identifier to locate.
This proposed logging storage solution will provide the ability to maintain and locate previously logged data as well as support truly circular logs by mandating more than one erase unit per volume. Behavioral differences between flash chip implementations are eliminated so one application can access logging storage across all platforms. Furthermore, reboots will not cause logged information to be lost or overwritten.
Existing LogRead and LogWrite interfaces defined in TEP 103 [2] are sufficient to implement cross-platform logging abilities.
The previous interface to ConfigStorage looks very similar to that of BlockStorage. The ConfigStorage interface allows reads and writes to arbitrary addresses, which is not optimal. One critical concept behind the storage of configuration data is the ability to modify and overwrite existing parameters while preventing surrounding data from being corrupted. The former ConfigStorage definition did not support this, so a new solution should be explored and developed.
This new solution should prevent an application from specifying addresses to read and write to on the volume. Instead, it should dictate addresses underneath, not allowing applications to see those addresses. In essence, the solution should handle the allocation of memory and take the burden of determining valid addresses off of the application layer. This will allow it to support multiple components written by different authors on the same system.
Several practical deployments have demonstrated the effectiveness of a hash-based configuration storage solution. In it, any module in a system can store and update any type of data of any size without destroying other modules' information.
The implementation is similar to that of ConfigStorage in that each entry contains a header followed by a variable amount of data. The header is different than ConfigStorage headers in that instead of containing a 32-bit cookie, it contains a 32-bit hash key and a magic number to keep track of state::
typedef struct config_header_t { uint32_t hashId; uint8_t magic; uint8_t length; uint8_t crc; } config_header_t;
The magic number allows Configuration storage to determine if the entry is valid or has been deleted. Because non-volatile memory typically writes from 1's to 0's, the magic number can take on a finite number of values before it is filled with 0's. For example::
enum { ENTRY_EMPTY = 0xFF, ENTRY_VALID = 0xEE, ENTRY_INVALID = 0xDD, };
Configuration data can be stored and retrieved by indexing it with a hash key. Like AM types in the radio stack [3], each key is uniquely defined by the developer.
Each new update to the configuration storage should create an entirely new entry while invalidating any previous entry containing the same hash key. Optionally, a small cache in RAM can be used to maintain information about where existing hash ID's are located in memory, so non-volatile memory does not need to be traversed each time.
When space runs out on one erase unit, the next erase unit can be used to copy in all valid data from the first. The first erase unit can then be erased. This allows parameters and configuration data to be infinitely updated so long as the amount of valid data plus supporting headers is less than half the volume's total erase unit size.
The interface to access the configuration storage mechanism is proposed as follows, allowing the application layer to continually update previously stored parameters while preventing it from accessing memory addresses directly::
interface ConfigStorage { command error_t getTotalKeys(); command error_t insert(uint32_t key, void *value, uint16_t valueSize); command error_t retrieve(uint32_t key, void *valueHolder, uint16_t maxValueSize); command error_t remove(uint32_t key); command error_t getFirstKey(); command uint32_t getLastKey(); command error_t getNextKey(uint32_t presentKey); event void inserted(uint32_t key, void *value, uint16_t valueSize, error_t error); event void retrieved(uint32_t key, void *valueHolder, uint16_t valueSize, error_t error); event void removed(uint32_t key, error_t error); event void nextKey(uint32_t nextKey, error_t error); event void totalKeys(uint16_t totalKeys); }
| [1] | TEP 103: Permanent Data Storage (Flash). |
| [2] | (1, 2, 3) TEP 128: Platform independent Non-Volatile Storage Abstraction Layers |
| [3] | TEP 116: Packet Protocols |
| [4] | Atmel AT45DB041B datasheet. http://www.atmel.com/dyn/resources/prod_documents/DOC1432.PDF |
| [5] | ST M25P80 datasheet. http://www.st.com/stonline/products/literature/ds/8495/m25p80.pdf |
| [6] | K9K1G08R0B datasheet. http://www.samsung.com/Products/Semiconductor/NANDFlash/SLC_SmallBlock/1Gbit/K9K1G08R0B/ds_k9k1g08x0b_rev10.pdf |


"There is a viewpoint that people should play safe because they can't afford to frighten their customer but, in fact, the opposite is true. You have to push forward and realise the power of fantasy and escapism." - A. McQ


NEW Arrival:
Smoked Log on a Friday Night
Just chillin' with your capypals on a friday night. Nothing much here but the faint buzz of a firefly, the crackle of flames, and the sweet scent of a toasty mashmallow. Much like that scene, this beer will make you feel at home among nature.


A platform & toolkit for developing distributed system/applications
This includes:
- - Service discovery & Load-Balancing
- - Distributed configuration management
- - Resource allocation
- - Container orchestration
- - Canary Deployments
In short: Everything you need to build a highly distributed system.
One bad point I discovered: It highly depends on distributed file-storage systems.
Local Storage is, at the moment, in alpha. You have to activate it.


Hello, world!
Lorem Ipsum is the single greatest threat. We are not - we are not keeping up with other websites. My text is long and beautiful, as, it has been well documented, are various other parts of my website. Lorem Ispum is a choke artist. It chokes! If Trump Ipsum weren’t my own words, perhaps I’d be dating it.
My placeholder text, I think, is going to end up being very good with women. An 'extremely credible source' has called my office and told me that Lorem Ipsum's birth certificate is a fraud.
You have so many different things placeholder text has to be able to do, and I don't believe Lorem Ipsum has the stamina. We are going to make placeholder text great again. Greater than ever before. My placeholder text, I think, is going to end up being very good with women. If Trump Ipsum weren’t my own words, perhaps I’d be dating it. I think my strongest asset maybe by far is my temperament. I have a placeholding temperament.
Be careful, or I will spill the beans on your placeholder text. An ‘extremely credible source’ has called my office and told me that Barack Obama’s placeholder text is a fraud.   Despite the constant negative ipsum covfefe. This placeholder text is gonna be HUGE. I write the best placeholder text, and I'm the biggest developer on the web by far... While that's mock-ups and this is politics, are they really so different?


Dependency injection involves four roles:
Any object that may be used can be considered a service. Any object that uses other objects can be considered a client.
The interfaces are the types the client expects its dependencies to be
The injector introduces the services into the client. Often, it also constructs the client. An injector may connect together a very complex object graph by treating an object like a client and later as a service for another client.
All the modern di framework supports the concept of module
a module is just an aggregate of services
in the late 1990's OOP was becoming mainstream, and large scale sistems maintenability started to become a problem
lightweight ioc containers
replace xml config with java annotations
why?
macro-di can also create new instances of a type using values from modules
In the previouse example we created a Comp1 instance using its primary constructor. It is possible to customize this behaviour adding a factory method on a module
macro-di is a implemented as a scala macro and it generates code at compile time
in Example2.scala
val i1 = IOC.get[Comp1](Module1, new ModuleClass1(true))
will be translated in something very similar to
val i1 = new Comp1(Module1.a, new ModuleClass1(true).text)
instead in Example3.scala
val i1 = IOC.get[Comp1](Module1, new ModuleClass1(true), Module3)
will be translated in something very similar to
val i1 = Module3.createComp1(new ModuleClass1(true))
However in the following example
we get a compile time error
One difference from most other di framework is that this code doesnt fail for the duplication but fails since the client is asking for a single Comp1 instance.
indeed following code will work as expected:
macro-di gives you a way to get all instances of a particular type inside your modules
Sometimes you need to introduce a factory method just to specify that a trait will be implemented by some class
Example
Example
For those cases macro-di provides a shortcut, Bind
this has the benefit of further decoupling the trait from its specific constructor details
Bind can also be used to depend on functionalities implemented by the IOC container
Lets consider the code
With Module9 we cant create a House instance, we are missing a string
[error] src\main\scala\com\github\gdefacci\di\sample\Example9.scala:7: could not find a binding for String
[error] resolving com.github.gdefacci.di.sample.Person
[error] resolving com.github.gdefacci.di.sample.House
[error] val hf1 = IOC.get[House](Module9, Module9A)
In pratice having a string instance we could get an House instance back. Lets state this contract
Here Bind is employed to ask macro-di to implement the trait HouseFactory
this can be used directly
or a component can depend upon:
And you dont have to use ad-hoc trait, you can use a function
macro-di support @Named and @Qualifier annotations as described in jsr-330 when those annotations are used inside a module (outside modules those annotations are ignored)
Sometimes it is useful to group up some unrelated modules in larger one, to avoid clients dealing with every single module. To create a module that contains other modules you have to extend ModulesContainer:
macro-di support only Singleton scope and Factory(default) scope
macro-di offer however an alternative to session like scopes, let's explore it
Let's say there's a Session class on which part of you functionalities (MyService) indirectly depends upon. Session has to be created in a Servlet using HttpSession
We'd like to define our servlet like
and ideally
how to glue it all?


Match codecs to browsers dynamically
50% bandwidth savings or more
Deliver the best quality possible for each user, based on their browser
Browser Usage
Detected
, using
Bitrate
Performance
Segment Data
0
MB
Segment Data
0
MB
Savings
0
%
Cost reduction*
0
USD
Performance
* assuming 1,000,000 Views and 0.025 USD Distribution Cost per GB


This module extract points from a given array with 3D-points, which are positioned on a defined plane. The extracted points are output as 2D-points.
Inputs
Name Type Description Coords_3D Coords_3D group containing array with 3D-points and dimension of the array
Parameters
Name Type Description UI Control plane float value of plane-coordinate Slider axis int x-,y-, or z-axis (equivalent to values 0, 1, 2) Slider dec int number of decimals of plane-value Output Ports
Name Type Description xy_out array [][2] array of 2D-points matching the plane
The module extracts points from an array of 3D-points, which are positioned on a specified plane. The plane is defined by two values:Both of these values can be selected by sliders.
- Axis, which specifies the alignment of the plane through the values 0,1 or 2, equivalent to x-, y- or z-axis (the axis orthogonal to the plane).
- Plane, which defines the distance between the origin of the coordinate system and the plane
The slider of the Plane-value is limited by the maximum and minimum values of coordinates at the specified axis.
The precision of the result depends on the precision of the Plane-value. The 3D-points are truncated to the same number of decimals as the number of decimals of the Plane-value.
The module outputs an array of 2D-points consisting of the matching points neglecting the values of the coordinate specified by Axis.
Inputs
Coords_3Dgroup containing the following parameters:
- dimension, which specifies the number of the 3D-points
- xyz_Coords, an array [dimension][3] containing the coordinates of the 3D-points
axisAlignment of the plane, values 0,1 or 2 for x-,y- or z-axisplaneValue specifying the exact position of the planeOutputs
xy_outarray [][2] of the points matching the plane
The example contains a sphere, Coords_3D containing the array of the points of the sphere and the dimension of this array, a point_mesh to convert the result of the module and a Uviewer3D to visualize the result.
The CoordinatesSlice-Module provides the User-Interface for selecting the Axis- and Plane-values and outputs the points matching the plane.
xp_comm_proj/cslice/cslice.v Creates the XP_COMM_PROJ.CoordinatesSlice library.
xp_comm_proj/cslice/csl_mods.v Creates the CoordinatesSliceMods library containing the low-level module CoordinatesSliceCore and the input group Coords_3D ant the parameter block CoordinatesSliceParams.
xp_comm_proj/cslice/csl_macs.v Creates the CoordinatesSliceMacs library containing the high-level functional macro CoordinatesSliceFunc, user interface macro CoordinatesSliceUI and the user macro CoordinatesSlice.
xp_comm_proj/cslice/csl_apps.v Creates the CoordinatesSliceApps library containing the example application CoordinatesSliceEg.
anonymous
Antje Niederlein, Manchester Visualization Centre