For example: coutner.py
MIN_NUMBER = 5
def count_upto(number):
# count from 1 upto the specified number
if number < MIN_NUMBER:
print('Error: number must be larger than', MIN_NUMBER)
return
print('Counting:')
for num in range(1, number):
print(num)
return
Within another python file, like test_counter.py
import counter
print('Smallest number to count up to is', counter.MIN_NUMBER)
counter.count_upto(10)
counter.count_upto(3) # prints an error
from counter import MIN_NUMBER, count_upto
count_upto(5) # you do not need module name and the dot notation
# MIN_NUMBER is not used
from counter import count_upto as xyz
def count_upto(num):
print('I dont know how to count....')
count_upto(10)
xyz(10)
import counter as c # maybe it takes too long to type "counter"
c.count_upto(10)
MIN_NUMBER = 5
def count_upto(number):
# count from 1 upto the specified number
if number < MIN_NUMBER:
print('Error: number must be larger than', MIN_NUMBER)
return
print('Counting:')
for num in range(1, number):
print(num)
return
MIN_NUMBER = 10
def count_upto(number):
if number < MIN_NUMBER:
print('Error: Number must be larger than', MIN_NUMBER)
return
print('Counting')
for num in range(1, number):
print(num)
return
print('This is counter module! Don not run it, import it only')
Updated counter.py
MIN_NUMBER=10
def count_upto(number):
if number < MIN_NUMBER:
print('Error: Number must be larger than', MIN_NUMBER)
return
print('Counting')
for num in range(1, number):
print(num)
return
if __name__ == '__main__':
print("Error: This is a module, don't try to run it. Try importing it instead!")
my_package: # a directory containing files and sub dirs
__init__.py # __init__.py makes it a my_package package
number: # it contains a sub package: number
__init__.py
counter.py # number contains counter, and math modules
math.py
string: # string contain encrypt, decrypt, and secret modules
__init__.py
encrypt.py
decrypt.py
secret.py
from my_package.number import counter
from my_package.string.encrypt import do_encrypt
import my_package
my_package.string.decrypt.do_decrypt()
from my_package.number import coutner
counter.count_upto(10)
from .secret import secret_key # secret_key is defined within secret module
from ..number import math
now = datetime.datetime.now()
print(now.year, now.day, now.month, now.hour, now.minute, now.seconds)


TorZillaPrint
return to TZP index
pluralrules
A proof to confirm the minimum set of numbers to return maximum entropy in Intl.pluralRules
[ run ]
supported [pluralrules]


Two Countries Marathon
Musina RSA
Race Winners
(19 runnings)
08 Sep
2007
02 Sep
2006
10 Sep
2005
2004
2003
2002
2001
2000
1999
1998
Notes: 1998 is believed to have been the inaugural year. The course is
point-to-point, from Dulubadzimu ZIM to Musina RSA. In 2005, entry was not
permitted into Zimbabwe; runners started at the border and ran 32 km to Musina.
24 Sep
2016
2:25:32
Nkosiyazi Sibanda-7
3:09:18
Lizih Chokore-3
26
Sep
2015
2:30:39
Nkosiyazi Sibanda-6
3:12:37
Lizih Chokore-2
13
Sep
2014
2:25:01
Nkosiyazi Sibanda-5
3:12:42
Tawapo Bhiri
(ZIM)
14
Sep
2013
2:26:28
Nkosiyazi Sibanda-4
3:09:47
Lizih Chokore
(ZIM)
05 Oct
2012
2:24:36
Nkosiyazi Sibanda-3
3:24:42
Jane Mudau-5
17 Sep
2011
2:32:16
Herbert Chokera (RSA)
3:23:37
Jane Mudau-4
2010
---
n/a
---
n/a
05 Sep
2009
2:27:
Marko Mambo (ZIM)
3:08:
Gladys Lukwareni (RSA)
06 Sep
2008
2:28:55
Nkosiyazi Sibanda-2
3:29:28
Jane Mudau-3
2:20:04
Nkosiyazi Sibanda (ZIM)
3:07:00
Felima Moyo (ZIM)
2:21:12
Lucas Nonyana (RSA)
3:05:07
Jane Mudau-2
1:48:22
Bethuel Netshifhefhe (RSA)
2:22:57
Joyce Makwarela (RSA)
---
n/a
---
n/a
---
n/a
---
n/a
2:21:10
Kasirai Sita (ZIM)
3:23:36
Jane Mudau (RSA)
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
---
n/a
Most Wins
(1998/date)
Men
7
Nkosiyazi Sibanda (ZIM)
2007-08,2012-16
Women
5
Jane Mudau (RSA)
2002,2006,2008,2011-12
Prize Money
(ADR qualified runners)
No information on prize money has been received for this race.
Race Time Bias (sec/km) Insufficient data to calculate the race time bias.
Competitive Level
(1990-date)
Insufficient data to calculate the competitive level.
Quality Performances
Men No men under 2:20 Women No women under 2:50
Last Updated on 14 Oct 2016
Contributors: Riel Hauman (12), Klaas Loonstra (9)


National Health Insurance Scheme Unit
Introduction
The NHIS office was first established in 2013 under the leadership of Dr. M.A. Usman, the then Director University Health Services; headed by Dr. Aliyu Mohammed as the Pioneer Coordinator and subsequently other staff joined the unit which include Business Manager, Secretary and House Keeper. Since the establishment of the Unit, several achievements were recoded as follows:
- Creation of TISHIP Committee
- Expansion of NHIS Committee to include representation from Kongo Clinic, Medical unit etc. to increase effectiveness and efficiency of the programme.
- Registration of more accredited secondary care services under the NHIS programme which includes:-
- Ear, Nose and Throat (ENT)
- Obstetrics and Gynaecology (O & G)
- Surgery
- Ultrasound Scan Services (USS)
- Expansion of secondary services to meet up with demands of enrollees for both Public sector and TISHIP.
- More new enrollees are registered under the scheme and a lot are currently leaving other facilities for University Health Services due to expansion of secondary care, easy access to qualitative healthcare.
- The unit is also involved in regular orientation programme for new students (both Undergraduates and Postgraduates) annually and new staff orientation and re-orientation programme.
- Expansion of the facility to meet up with excess demand due to increase number of registered enrollees for both TISHIP and Public Sector Social Health Insurance Programme.
- The Unit had helped the University by increasing its revenue base through Capitation Obtained from NHIS based on each registered enrollee for the facility.
- There was increase in access to health care which subsequently increases the fee for service and consequently add more revenue base to the University for both TISHIP and Public Sector Social Health Insurance Scheme.
- Provision of Private health insurance scheme for most especially the expatriate in the University.
- Acquisition of indemnity insurance for the facility under secondary care serves from Niger insurance company.
- Facilitate prompt remittance and payment of fee for service and capitation for both TISHIP and PSSHP.
- Prompt generation of authorization code to enable easy access to provision of secondary Healthcare services for the enrollees.
- To ensure that Health education programmes are well coordinated.
- The Unit ensures that all related workshops are well coordinated and encourage the HMOs to organize annual workshops for the facility.
- Secondary services which required surgeries under NHIS such as O & G (including Caesarian Section, etc.), General Surgeries, and etc had commenced.
- The Unit helps in revenue generation for the University which is used for physical development, acquisition of laboratory equipment, consumables, theatre equipment, personnel development, research etc.
- The Unit usually demonstrates some form of appreciation to all the healthcare workers during festive period (Sallah and Christmas) annually by distributing (rice) in order to meet up the demand within the said period.
- Due to above achievements, leadership award 2016 was given to NHIS Coordinator by National Association of Nigerian Students (NANS) as a way of recognition for invaluable contribution to the upliftment and betterment of the educational sector, leadership position, credible and unbeatable services to humanity.


The stacked tabs can be present on left side or right side of the content. The left-stacked tabs can be created by enclosing
the HTML of normal tabs with a div .tabs-left
. The right-stacked tabs can be created by enclosing the HTML
of normal tabs with a div .tabs-right
. The align
attribute of the tab
element
can be used to set the alignment of text and icon in the tab heading. This attribute can have value as text-center
,
text-left
or text-right
. Other attributes of stacked tabs are same as the normal tabs.


Links
Settings
Duration
OK
Close
Refresh
Thunderstorm
Feed Pause
Maintainance
Normal Interface
iPhone Interface
Mobile Interface
Reef Status
ProfiLux Support Forum
Refresh
Enter
Esc


| Interface | Description |
|---|---|
| BroadcastingStrategy |
Implementations of this strategy type define how tensors shall be treated, if their dimensions do not match.
|
| ContextPropagationStrategy |
Defines how the context is propagated during a binary tensor operation.
|
| ShapingStrategy |
Strategy for deciding on the shape of resulting tensor from the shapes of two tensors used for a binary operation.
|
| Class | Description |
|---|---|
| BroadcastMissingDimensionsStrategy |
A broadcasting strategies that broadcasts all dimensions which are not available in one tensor to the shape of the
second tensor.
|
| ExactShapesOrOneZeroStrategy |
Implementation of
ShapingStrategy that checks if for two given Tensor objects shapes are exactly the
same (type of the coordinates, number of dimensions and coordinates instances). |
| IntersectionShapingStrategy |
A strategy for shaping tensors resulting from binary (element wise) operations, which just takes the intersection of
both shapes.
|
| LeftContextPreservedStrategy |


Starts Java Web Start.
javaws [ run-options ] jnlp
javaws [ control-options ]
Command-line run-options
. The run-options
can be in any order. See Run-Options.
Either the path of or the Uniform Resource Locator (URL) of the Java Network Launching Protocol (JNLP) file.
Command-line control-options
. The control-options
can be in any order. See Control-Options.
Note: The javaws
command is not available on Oracle Solaris.
The javaws
command starts Java Web Start, which is the reference implementation of the JNLP. Java Web Start starts Java applications and applets hosted on a network.
If a JNLP file is specified, then the javaws
command starts the Java application or applet specified in the JNLP file.
The javaws
launcher has a set of options that are supported in the current release. However, the options may be removed in a future release.
Runs Java Web Start in offline mode.
Does not display the initial splash screen.
When specified, this option replaces the arguments in the JNLP file with -open
arguments
.
When specified, this option replaces the arguments in the JNLP file with -print
arguments
.
Uses online mode. This is the default behavior.
The javaws
process does not exit until the application exits. This option does not function as described on Windows platforms.
Displays additional output.
Passes option to the Java Virtual Machine, where option
is one of the options described on the reference page for the Java application launcher. For example, -J-Xms48m
sets the startup memory to 48 MB. See java
(1).
Runs the application from the system cache only.
Shows the cache viewer in the Java Control Panel.
Removes all non-installed applications from the cache.
Clears the specified deployment property.
Sets the specified deployment property to the specified value.
Removes all applications from the cache.
Removes the application from the cache.
Imports the application to the cache.
Imports silently (with no user interface).
Imports application to the system cache.
Retrieves resources from the specified codebase.
Installs shortcuts if the user allows a prompt. This option has no effect unless the -silent
option is also used.
Installs associations if the user allows a prompt. This option has no effect unless the -silent
option is also used.
Note: The command javaws -shortcut -uninstall
removes both association as well as the implementation.
For information about the user and system cache and deployment.properties files, see Deployment Configuration File and Properties at
http://docs.oracle.com/javase/8/docs/technotes/guides/jweb/jcp/properties.html


--- title: First hacknight in campus on 14th April date: 2018-04-11 14:06:13.000000000 +05:30 type: news parent_id: '0' published: true password: '' status: publish categories: [] tags: [] meta: _edit_last: '1' rcp_user_level: None _um_custom_access_settings: '0' _um_accessible: '0' _um_access_redirect2: '' _um_access_roles: a:1:{i:0;s:1:"0";} _um_access_redirect: '' author: login: vik-y email<EMAIL_ADDRESS>display_name: Vikas Yadav first_name: Vikas last_name: Yadav ---
For the first time Zense is planning to organize a hacknight in campus.
You can partner up in the teams of 2 or 3 and submit ideas in the form provided in the facebook group and sent to you via email. The idea may not be the final idea to be worked upon later, but it should be similar to that you propose now.
Topic for the Hacknight: Hack a solution to any problem in college.
For e.g. in domains like Administration, Campus Safety, Security, Things that assist in classrooms and many more.
During the hacknight, you’ll be working on your idea, presenting your thoughts and implementation on it and make a basic prototype of it.
Judging will be done on 15th April,2018 after the lunch so that you take some rest after the hacknight. Judging will be done by Ramesh Sir from the Innovation Centre.
Prizes for top 6 teams worth INR 5000.


All about me: Skylar Monahan
Things about me
Top 10 favorite video games:
- Celeste
- Borderlands 2
- Binding of Isaac
- Slay the spire
- Rainbow Six Siege
- COD Black Ops 2
- Hearthstone
- COD Advanced Warfare
- Apex Legends
- Battleborn
Work Experience:
- Started as a stocker at a local liquor store.
- Moved on to be a cashier at Hyvee
- Did a little bit of stocking at Hyvee
- Worked some in the chinese/italian areas at Hyvee
- Went to Buffalo Wild Wings as a greeter
- Eventually became a takeout cashier at Buffalo Wild Wings
Likes:
- Coding
- Hanging with friends
- Tabletop games
- Video Games
Dislikes:
- Most foods
- Genuine human connection
- Disliking things
- Telling a joke that falls flat
Hobbies:
- Streaming on twitch.tv/kyleblair50
- Playing tabletop games
- Playing video games
- Coding beautiful websites


Image
Image link
Figure
Figure caption before
Cat Sleeping
by Fabricio Trujillo
Figure caption after
Cat Sleeping
by Fabricio Trujillo
Picture
Not yet available...


My name is Sugeesh Liyanage. I am a Junior web developer able to build websites from the ground up. I am able to write efficient code using best practices in web development. I am a team player, who loves collaborating effectively with others to get the job done. I am creative and enjoyable to be around. I love helping others when I have the opportunity.
Soccer Team Management App (2018) is a web application where users can identify players & team's statistics, areas they have to improve for example improve in Ball Manipulation, Kicking Abililities, Passing Abilities, Duel/Tackling Abilities, etc. To make this app I used technologies such as Meteor, React, Chartjs, Material-ui, Chip Component, etc. Whole project was done by myself and I got lots of instructions from instructor, TA's and my tutor. View Project
Our goal is to help facilitate communication between parents and administrators concerning student behavior. We believe that thorough documentation is key to creating student behavior plans and goals. We hope to make this process easier for teachers, administrators, and parents. Here, the teachers can keep track of a student's behavior, good or bad. Often times when a teacher goes to an administrator about a problem with a student, the first question is, "Did you document it?", and too often, the answer is no.
View Project


Hi Christian, Thank you for your opinion (and your call to user's contributions !), it reinforces my approach. Also thank you to the person who gave an outline solution (which is different from a set-approach I was thinking) I hope to tell you soon I realized a working gecode implementation. Best, Philippe


Android Studio 2.2
Android Studio is the official IDE for Android platform development. It encompasses the fastest tools for building apps on Android devices.
The latest version 2.2 of the Studio was announced on May 18, 2016 during the Google I/O Conference. It is powered with a reengineered UI Designer and a Constraint Layout. Plunge deeper into the new version here
Download Here


We aggregate solutions!
- syndicate magnetic systems
- target ubiquitous mindshare
- productize next-generation paradigms
- aggregate bleeding-edge deliverables
- expedite value-added networks
- evolve proactive deliverables
- enable dynamic users
- syndicate extensible ROI
- iterate robust mindshare
- cultivate best-of-breed bandwidth
- utilize interactive communities
- whiteboard strategic content
- strategize interactive functionalities


Samsung’s Android beta hints at future smartphones w/ 120Hz displays
by Ben SchoonWe’re seeing smartphones with high refresh rate displays more and more often and now, it seems Samsung is finally jumping on board. A new hidden setting in the latest Android 10 beta on some Samsung devices seemingly confirms that the company is preparing phones with 120Hz displays.
120Hz displays aren’t technically new – Razer delivered the first one a couple of years ago. However, higher refresh rates have only seen minimal adoption so far in smartphones. The OnePlus 7 series uses 90Hz OLED panels as does Google’s Pixel 4, but 120Hz panels have only been used in gaming smartphones so far from Razer and Asus.
Ironically, Samsung has produced most of the high refresh rate displays that have been used on other smartphones, but the company’s own 2019 lineup didn’t include that technology. Apparently, that will change next year.
Hidden in the settings of the latest Android 10 beta on the Samsung Galaxy Note 9, there’s an option to toggle between 60Hz and 120Hz. On the current hardware this toggle obviously does nothing, but it strongly implies that Samsung is preparing this functionality for a future device.
Ice Universe details that this section of the settings menu explains that the device can stick to 60Hz, stick to 120Hz whenever possible, or switch back and forth between the two. Another Twitter user also shared a screenshot in English as you can see above which shows a selection option for apps that use the 120Hz refresh rate.
It’s unclear when Samsung plans to start using a 120Hz display on its smartphones, but the Galaxy S11 seems like a good bet.
More on Samsung:
- Galaxy S11: Leaked details include bigger screens, colors, 108MP camera
- Samsung Camera app prepares new modes including custom filters, ‘Director’s View’
- Galaxy Watch Active 2 features coming to Galaxy Watch and Watch Active
FTC: We use income earning auto affiliate links. More.


Created by Mazharul Anwar / @mazharul_anwar / mazharul[at]jobstreet[dot]com
Using @mentions in issue commit or in issues notifies the mentioned individual, great way to send in app notifications
References to commits or another issues are a great way to discuss problems.
Writing sub tasks in an issue
We can auto close an issue by writing keywords in our commit message along with issue number.
Keywords: close, closes, closed, fix, fixes, fixed, resolve, resolves, resolved
Standard Way to version your software


Struct dim_g_t¶
Defined in File graspi_types.hpp
Struct Documentation¶
-
struct
graspi
::
dim_g_t
¶ structure storing dimensions of graph vertices
Public Functions
-
dim_g_t
(unsigned int n_phases = 2, unsigned int bulk = 0, unsigned int meta = 2)¶ constructor
- Parameters
n_phases
: is the number of phases consideredbulk
: is the number of bulk vertiecesmeta
: is the number of meta vertices associated with the {2,3}-phase morphology
-
int
n_total
() const¶ returns the total number of vertices in the graph (bulk and meta vertices)
-
int
n_meta
() const¶ returns the number of basic meta vertices (e.g., top and bottom electrode)
-
int
n_meta_int
() const¶ returns the number of interfacial meta vertices
-
int
n_meta_total
() const¶ returns the number of all meta vertices (basic and interfacial)
-
int
id
(unsigned int c) const¶ returns the index of meta vertex of color c
-
int
id_blue
() const¶ returns the index of blue meta-vertex
-
int
id_red
() const¶ returns the index of red meta-vertex
-
int
id_green
() const¶ returns the index of green meta-vertex
-
int
id_dgreen
() const¶ returns the index of dark green meta-vertex
-
int
id_lgreen
() const¶ returns the index of light green meta-vertex
Public Members
-
unsigned int
n_phases
¶ number of phases (currently 2 or 3)
-
unsigned int
n_bulk
¶ all BLACK,WHITE and GREY vertices
-
unsigned int
n_meta_basic
¶ basic meta vertices (anode, cathode)
-
unsigned int
n_meta_interfacial
¶ interfacial meta vertices between (BLACK/WHITE), (BLACK/GREY), (WHITE/GREY)
-


{% extends "dashboard.html" %} {# Copyright (c) 2015-present, Philippine-California Advanced Research Institutes- The Village Base Station Project (PCARI-VBTS). All rights reserved. This source code is licensed under the BSD-style license found in the LICENSE file in the root directory of this source tree. #} {% load crispy_forms_tags %} {% load staticfiles i18n %} {% block dashboard-header %}
| Group Name | Subscriber | F&F Members | |
|---|---|---|---|
| {{ group.name }} | {{ group.owner.get_profile }} | {% for member in group.members.all %} {% if "OFFNET" in member.imsi %} {{ member.callerid }} {% else %} {{ member.get_profile }} {% endif %} {% endfor %} |


Discoverthreejs.com
Antialiasing Technique
None / Renderer
None / Effect Composer
Built-in (probably MSAA)
SSAA
TAA
FXAA
SMAA
Samples (SMAA and TAA):
4
(Square this number to get actual # samples)
SSAA unbiased
Wireframe
Number of Birds:
1
Max number of models reached!
Add 1
Add 10
Add 100


Trolley-Core
This repository contains the core of our Trolley SDK, with tests and an example application. The Trolley-Core framework is the base for all the Trolley frameworks but is designed so that it can be used by itself if you wish.
The pod provides access to:
Trolley
- Syntax ReferenceTRLOptions
- Syntax ReferenceTRLDefaultsManager
- Syntax ReferenceTRLRequest
- Syntax Reference
The pod also provides very basic access to our TRLNetworkingTools
Installation
Trolley Core is only available through CocoaPods. You can install it with the following command:
$ gem install cocoapods
To integrate Trolley into your Xcode project using CocoaPods, specify it in your Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'Trolley'
end
Then, run the following command:
$ pod install
Roadmap
TODO
Contributing
TODO
Author
harrytwright<EMAIL_ADDRESS>License
TrolleyCore is available under the MIT license. See the LICENSE file for more info.


The ACM code cites the following key references:
- [Rowe2004]
- An important precursor to this is the paper
"A computationally tractable version of the collective model"
by D.J. Rowe, Nucl. Phys. A 735 (2004) 372-392.
- [RWC2009]
- Most of the calculations for the following paper were
carried out using an earlier version of this code:
"Bohr model as an algebraic collective model"
by D.J. Rowe, T.A. Welsh and M.A. Caprio,
Phys. Rev. C79 (2009) 054304.
- [RowanWood]
- A pretty full explanation in Chapter 4 of the book
"Fundamentals of Nuclear Models: Foundational Models"
by D.J. Rowe and J.L. Wood,
World Scientific (Singapore), 2010.
- [WR2015]
- This code implements the ACM version of the Bohr model of the
atomic nucleus. The manuscript
"A computer code for calculations in the algebraic collective
model of the atomic nucleus",
by T.A. Welsh and D.J. Rowe,
describes the mathematical foundations of the code, and also
serves as a manual. The manuscript (version 1.2) is available from
http://arxiv.org/abs/1408.3824 (v2).
(A slightly improved version 1.3 was submitted for publication;
this is being updated to version 1.4 following referees' comments.)


This example shows a simple case of multiple images being loaded.
Alternative text
Alternative text
Alternative text
Alternative text


//= blocks/head.html
//= blocks/navbar.html
//= blocks/sidebar.html //= blocks/news.html
//= blocks/tasks.html


1.06:
- By default, don't allow boost above 60% (even the allowed levels up to 60% can be dangerous, though). To unlock higher
boosts, press the tools icon or the menu key, choose Settings, and change the "Maximum allowed boost".
1.05:
- Option to set maximum allowed boost.
- Higher priority on sound effect.
1.02:
- No advertising!
1.01.2:
- Support for devices without menu button.
- Make volume buttons control volume slider.
- No volume slider by default, except on Fire.
1.00:
- Official release


As part of my latest university submission I was required to update my website based on feedback I was provided with.
After making a few amendments to the site I found it difficult to maintain. I was no longer satisfied and decided it was time for a complete redesign.
My aim was to avoid images by using CSS and SVG's to make the site load quickly whilst retaining visual appeal.
On the previous site, the blog page featured buttons positioned in the centre of images to link the user to the various posts. However, I had only made the button clickable instead of the whole image. Truthfully I was aware of this prior to submission and gave up trying to make it work due to weird things happening when trying to wrap the div in anchor tags. Rather than trying to fix this I decided to start from scratch for two reasons, firstly the use of a button in this context is incorrect.
Buttons should be used as toggles within an interface, like a play button on a video, as through providing high affordance are better suited engaging the user in a particular task. Because these elements linked to other pages, this is removing the user from the context of this page which they’re currently on forwarding them to a new resource. Because of this, a clickable link would be a more appropriate solution. I decided to remove the use of high-resolution images as they were unnecessary allowing me to speed up the pages loading time. Instead, I thought it would be a better solution to use SVG’s to represent the general topic of each blog post.
The feedback highlighted the site some accessibility issues which mainly resulted from me copying and pasting elements causing metadata such the alt text to be incorrect where someone with a visual impairment would be given the wrong description. It can be hard to spot these issues as they only appear in the code. An area which I needed to improve upon was creating forms as mine did not comply with WebAim’s recommendations. I feel like forms can be one of the most complicated things to do with HTML due to the large number of different HTML elements which they often consist of such as forms, buttons, labels and different types of input boxes. To then select and style these elements; it requires a good understanding of how advanced CSS selectors can be used to apply the same stylings to most of the elements such as width and colour whilst some of the stylings will be unique to each particular element.
Then making the form responsive was stressful as it seemed to me the elements have inherently different natures. This makes me feel like the way in which these elements would be contextually used and styled was not adequately considered when the technology was introduced. An example of this which I’ve come across is where buttons don’t seem to span 100% of the container with margins applied and similarly, input labels will increase the width of the whole element when padding is applied which does not happen to other block level elements which push the content into the middle.


CIS 351 - Data Structures
Course Objectives
Upon successful completion of the course, a student
should be able to:
1. Describe the basic knowledge to edit, compile, test run a computer
program written by an imperative language.
2. Apply the basic programming constructs: branching, looping,
recursion and Boolean functions to compose a computer program
written by an imperative language.
3. Describe the procedures required to compose computer programs
with IO operations and arrays written by an imperative language.
4. Identify the techniques of (1) parameter passing, (2) aliasing for
the manipulation of arrays, and (3) exception handling in a given
computer program.
5. Describe the rationale of exception handling and demonstrate its usage with code snippets.
6. Explain the following basic object-oriented programming concepts:
class variables, class methods, instance variables, instance
methods and identify their usage in a given Java class.
7. Define the key features of the stack data structure, explain a possible
array-based implementation (ArrayStack) and discuss how to
use an array in a backtracking scenario.
8. State the definitions of (big-O, big-Omega and big-Theta), discuss
its use in analyzing the complexity of basic sorting and searching
algorithms and apply the techniques (big-O, big-Omega and big-
Theta) to analyze the complexity of the algorithms discussed.
9. Apply the analysis techniques (big-O, big-Omega and big-Theta)
to determine the complexity of basic operations of the stack data
structure.
10. Apply the techniques (big-O, big-Omega and big-Theta) to analyze
the complexity of the usual queue operations data structure
and evaluate the overall complexity of using the queue data structure
in a typical application.
11. Explain what a Java reference is and explain the relations to the
concept of pointers.
12. Illustrate, with the help of diagrams, how to use Java reference
concept to build a node and to implement a linked-list based stack
and/or a queue.
13. Explain the need to employ generic programming techniques,
and explain its use to build the stacks and queue data structures
via code examples.
14. Compose the key procedures regarding the implementation(s) of
a stack and/or queue data structures using generic programming
techniques.
15. Describe an implementation(s) of a stack and/or queue based on double linked lists.
16. Compare and contrast an implementation of either a stack or a
queue via a singly linked list versus an implementation which uses
a doubly linked list. Give a critique using the big-O, big-Omega
and big-Theta analysis techniques.
17. Present the concept of hashing as an alternate search technique,
state the basic features to perform hashing (hash functions and tables) and discuss the criteria to evaluate it effectiveness.
18. Show, with the aid of diagrams, two different ways open addressing to implement a hash.
19. Define trees and
its basic parameters (paths, heights etc.); Discuss the use of each
type of trees as a data structures and identify the key supporting
operations.
20. State at least four possible ways to order the nodes of a binary
tree; analyze, compare and contrast the implementations of the
ordering algorithms associated to each of the methods stated.
21. Illustrate, with the aid of diagrams, a tree implementation
of the dictionary data type.
22. State the definition of a binary search tree.
23. Describe, compare, contrast and analyze the implementations
of the dictionary operations (insert, delete and find) of a binary
search tree.
24. Present the main features of a priority queue, discuss an implementation
that uses a binary search tree as the underlying data
structure and analyze the running times of each of the operations
for its maintenance.
25. Define the binary max-heap property as the defining property for
a binary max-heap.
26. Explain, with the aid of diagrams and pseudocode, the key operations
(1) heapify, and d(2) make-heap for the maintenance of
the binary heap data structure. In addition, be able to analyze the
worse running time of these operations.
27. Discuss heap sort as an application of using a binary max-heap
data structure for sorting and its running time.
28. Discuss an implementation of the priority queue ADT by using
a binary heap, and describe an implementation of each of the
priority operations and discuss their worse
running time.
29. Present the key features (depth of a node, depth of the tree) of a
random binary tree.
30. Define the treap data structure and discuss its connections to the
binary tree and heap.
31. State the definitions for undirected graphs and directed graphs,
present their basic features and describe implementations that are
(1) based on a two dimensional array, and (2) one that are based on
array of linked lists.
32. Discuss, compare and contrast (1) the adjacent matrix representation,
versus (2) the adjacency list representation as the underlying
data structure for the graph data type.
33. Describe, with the aid of diagrams and pseudocode, two graph
traversal method (1) breadth first search (BFS), and (2) depth first
search (DFS).
34. Give an outline to solving each of the problems such as: detecting
cycles, computing shortest paths, existence of a path between
two given vertices, using either DFS and BFS.


Enter name
Enter surname
Enter years
Enter date
Are you a student?
Are you in highschool?
Do you have driving liscence
Choose a job
Pilot
Singer
Driver
Beautician
Submit


More about tofu
Who are we ? When was tofu created ? Who are our collaborators ?
Tofu's history
History of all releases of tofu. Learn what's new on the latest version


The Human Glycome Project endorses the following glycan databases. To include additional database to this list, please send short description of the database to the Steering Committee of the Human Glycome Project at info@human-glycome.org


CHECKOUT
Add to cart interaction prototype by Virgil Pana
Follow me on Dribbble | Twitter
Showing 1–9 of 48 results
FLUTED HEM DRESS
PRODUCT SKU: 89356
$43 $39
COLORS
SIZE
XS
S
M
L
XL
XXL
Add to cart
View gallery
$39
FLUTED HEM DRESS
Summer dress
SIZES
XS, S, M, L, XL, XXL
COLORS
PLEAT PRINTED DRESS
PRODUCT SKU: 89356
$43 $39
COLORS
SIZE
XS
S
M
L
XL
XXL
Add to cart
View gallery
$39
PLEAT PRINTED DRESS
Summer dress
SIZES
XS, S, M, L, XL, XXL
COLORS
FLOWY SHIRT DRESS
PRODUCT SKU: 89356
$43 $39
COLORS
SIZE
XS
S
M
L
XL
XXL
Add to cart
View gallery
$39
FLOWY SHIRT DRESS
Summer dress
SIZES
XS, S, M, L, XL, XXL
COLORS
DOUBLE LAYER DRESS
PRODUCT SKU: 89356
$43 $39
COLORS
SIZE
XS
S
M
L
XL
XXL
Add to cart
View gallery
$39
DOUBLE LAYER DRESS
Summer dress
SIZES
XS, S, M, L, XL, XXL
COLORS
BEAD DETAIL DRESS
PRODUCT SKU: 89356
$43 $39
COLORS
SIZE
XS
S
M
L
XL
XXL
Add to cart
View gallery
$39
BEAD DETAIL DRESS
Summer dress
SIZES
XS, S, M, L, XL, XXL
COLORS
PLEATED DETAIL DRESS
PRODUCT SKU: 89356
$43 $39
COLORS
SIZE
XS
S
M
L
XL
XXL
Add to cart
View gallery
$39
PLEATED DETAIL DRESS
Summer dress
SIZES
XS, S, M, L, XL, XXL
COLORS
PRINTED DRESS
PRODUCT SKU: 89356
$43 $39
COLORS
SIZE
XS
S
M
L
XL
XXL
Add to cart
View gallery
$39
PRINTED DRESS
Summer dress
SIZES
XS, S, M, L, XL, XXL
COLORS
PRINTED DRESS
PRODUCT SKU: 89356
$43 $39
COLORS
SIZE
XS
S
M
L
XL
XXL
Add to cart
View gallery
$39
PRINTED DRESS
Summer dress
SIZES
XS, S, M, L, XL, XXL
COLORS


crunch
Wordlist generator.
More information: home page
- Output a list of words of length 1 to 3 with only lowercase characters:
crunch 1 3
- Output a list of hexadecimal words of length 8:
crunch 8 8<PHONE_NUMBER>abcdef
- Output a list of all permutations of abc (lengths are not processed):
crunch 1 1 -p abc
- Output a list of all permutations of the given strings (lengths are not processed):
crunch 1 1 -p abc def ghi
- Output a list of words generated according to the given pattern and a maximum number of duplicate letters:
crunch 5 5 abcde123 -t @@@12 -d 2@
- Write a list of words in chunk files of a given size, starting with the given string:
crunch 3 5 -o START -b 10kb -s abc
- Write a list of words stopping with the given string and inverting the wordlist:
crunch 1 5 -o START -e abcde -i
- Write a list of words in compressed chunk files with a specified number of words:
crunch 1 5 -o START -c 1000 -z gzip|bzip2|lzma|7z


The official URL for this profile is:
http://paciowg.github.io/cognitive-status-ig/StructureDefinition/pacio-cs-dev
A device used by a Patient during a cognitive status assessment.
This profile builds on DeviceUseStatement.
This profile was published on Sun Jan 03 16:20:53 PST 2021 as a active by HL7 Patient Care Work Group.


The Agent app enables Aragon organizations to interact directly with any other smart contract on Ethereum. Before Agent, an organization would have to nominate a trusted party to interact with an Ethereum smart contract on its behalf: for example, an organization would send some Dai to one of its employees, who would then be trusted to lend the Dai on Compound, earn interest, and then send the interest plus the principle back to the organization. Now with Agent, an organization can (for example) lend its Dai out on Compound directly, without having to trust any intermediaries.
The easiest way to start using the Agent app is to check the box to optionally install it when first creating your organization:
Note that installing Agent via one of the templates will replace the Vault app normally included with templates that do not use the Agent app.
If you did not optionally install the Agent app when first creating your organization, you can still install it after the organization has been created. To do so, you will need to follow the instructions for installing and initializing the Agent app using the aragonCLI. Note that this option is geared towards experts, and we hope to make installing Aragon apps from the frontend possible in the near future.
Once you have the Agent app installed, the fun can begin.
The Agent app currently does not have a frontend interface. You can see the history of transactions made with your Agent app by visiting the Agent app address in your favorite block explorer.
Go to the Frame website and install the Frame desktop client and browser extension.
Open the Frame desktop app and click the "plus-sign" button to add your acting account. You can add it using a hardware wallet or a hot wallet. It is recommended that you use a hardware wallet but in this example we will use a hot wallet since we are using the Rinkeby testnet and not real money on the Ethereum mainnet.
Go to the same screen on Frame you used to add your acting account, then add your Aragon Agent under the "Smart accounts" section.
Enter the name of your Aragon organization, then click "Next".
Then select the acting account, choosing the account with the address that holds your organization's voting token(s) if you have more than one account to select from:
Select the acting address, choosing the address that holds your organization's voting token(s):
Your Aragon Agent will now show up in the list of available accounts to use with Frame:
Click on the Aragon logo to use your Agent account. Enter your password if you are using a hot account.
Remember that depending on the permissions set in your organization, your organization's tokenholders may need to visit the Voting app and vote on each transaction made using the Agent app.


---
layout: post
title: Learning
date: '2010-03-16T09:29:00.000+01:00'
author: Dave Van den Eynde
tags:
modified_time: '2010-03-16T09:29:43.637+01:00'
blogger_id: tag:blogger.com,1999:blog-10546079.post-7889470030123286492
blogger_orig_url: http://www.groovbird.com/2010/03/learning.html
---
Today I learned something.
Today I learned that a Stack Overflow is not just a good place to go when you're stuck with something or you want a second opinion. It's also a good place to go when you want to learn something.
Here's how to do it.
Go over there, and look for recent questions on the topic that you want to learn something about. Preferably questions that are not exactly completely answered, and that are non-trivial to answer. But, try to stay away from the "please do my homework for me" type of questions.
You don't have to have an answer ready for it. I usually browse SO and sometimes find answers that I can just type from the top of my head and be done with it. But that's not what I'm aiming for here. Try to find a question where you know you'll spend a good 15 minutes to half an hour figuring out what the real answer is, and then try to answer it. Ideally, you'll have an understanding of the problem, but you just know that if you spend some time, you'll come up with a really good answer.
You'll spend 15 to 30 minutes on it, because you'll have to do some research and you'll have to make some sample code (and test it too!). You don't need to write out an entire application. Sometimes it's enough to have a couple of lines of code in your answer that will do the trick, but you'll need to make that test app for yourself to make sure that what you write will work.
 You won't gain much reputation points, because it may be an older question (older than 2 minutes) and the person who posed the question may have left permanently, or there may be less complete answers that have already been accepted. But the point it not to gain rep. The point is to learn.
That's what I did today. It took me little over half an hour. But I learned something. And I'm gonna do it again tomorrow.


Python Functions
Functions are used to encapsulate a set of relatred instructions that you want to use within your program to carry out a specific task. This helps with the organization of your code as well as code reusability. Oftent times functions accept parameters and return values, but that’s not always the case.
There are three types of functions in Python:
- Built-in functions, such as help() to ask for help, min() to get the minimum value, print() to print an object to the terminal,… You can find an overview with more of these functions here.
- User-Defined Functions (UDFs), which are functions that users create to help them out; And
- Anonymous functions, which are also called lambda functions because they are not declared with the standard def keyword.
Functions vs. Methods
A method is a function that’s part of a class which we’ll discuss in another lecture. Keep in mind all methods are functions but not all functions are methods.
Parameters vs. Arguments
Parameters are the names used when defining a function or a method, and into which arguments will be mapped. In other words, arguments are the things which are supplied to any function or method call, while the function or method code refers to the arguments by their parameter names.
Consider the function
def sum(a, b):
return a + b
sum
has 2 parameters a and b. If you call the sum
function with values 2 and 3 then 2 and 3 are the arguments.
Defining User Functions
The four steps to defining a function in Python are the following:
- Use the keyword
def
to declare the function and follow this up with the function name. - Add parameters to the function: they should be within the parentheses of the function. End your line with a colon.
- Add statements that the functions should execute.
- End your function with a return statement if the function should output something. Without the return statement, your function will return an object None.
# takes no parameters, returns none
def say_hello():
print('hello')
say_hello()
hello
x = say_hello()
print(type(x), x)
hello
<class 'NoneType'> None
# takes parameters, returns none
def say_something(message):
print(message)
x = say_something('hello class')
print(type(x), x)
hello class
<class 'NoneType'> None
The return Statement
Sometimes it’s useful to reuturn values from functions. We’ll refactor our code to return values.
def get_message():
return 'hello class'
def say_something():
message = get_message()
print(message)
x = get_message()
print(type(x), x)
<class 'str'> hello class
say_something()
hello class
def ask_user_to_say_something():
message = input('say something')
print(message)
ask_user_to_say_something()
say somethinghi class
hi class
def say_anything(fn):
message = fn()
print(message)
fn = get_message
say_anything(fn)
hello class
fn = input
say_anything(fn)
blah
blah
print(type(say_something()))
hello class
<class 'NoneType'>
x = say_something()
print(type(x), x)
hello class
<class 'NoneType'> None
returning multiple values
In python you can return values in a variety of data types including primitive data structures such as integers, floats, strings, & booleans as well as non-primitive data structures such as arrays, lists, tuples, dictionaries, sets, and files.
# returning a list
def get_messages():
return ['hello class', 'python is great', 'here we\'re retuning a list']
messages = get_messages()
print(type(messages), messages)
for message in messages:
print(type(message), message)
<class 'list'> ['hello class', 'python is great', "here we're retuning a list"]
<class 'str'> hello class
<class 'str'> python is great
<class 'str'> here we're retuning a list
# returning a tuple... more on tuples later
def get_message():
return ('hello class', 3)
message = get_message()
print(type(message), message)
for i in range(0, message[1]):
print(message[0])
<class 'tuple'> ('hello class', 3)
hello class
hello class
hello class
def get_message():
return 'hello class', 3 # ('s are optional
message = get_message()
print(type(message), message)
for i in range(0, message[1]):
print(message[0])
<class 'tuple'> ('hello class', 3)
hello class
hello class
hello class
message, iterations = get_message()
print(type(message), message)
for i in range(0, iterations):
print(message)
<class 'str'> hello class
hello class
hello class
hello class
Function Arguments in Python
There are four types of arguments that Python functions can take:
- Default arguments
- Required arguments
- Keyword arguments
- Variable number of arguments
Default Arguments
Default arguments are those that take a default value if no argument value is passed during the function call. You can assign this default value by with the assignment operator =, just like in the following example:
import random
def get_random_numbers(n=1):
if n == 1:
return random.random()
elif n > 1:
numbers = []
for i in range(0, n):
numbers.append(random.random())
return numbers
w = get_random_numbers()
print('w:', type(w), w)
x = get_random_numbers(1)
print('x:', type(x), x)
y = get_random_numbers(n=3)
print('y:', type(y), y)
z = get_random_numbers(n=-1)
print('z:', type(z), z)
w: <class 'float'> 0.4719980636598017
x: <class 'float'> 0.6547221816222274
y: <class 'list'> [0.4131638254353208, 0.8395255611109163, 0.212453154234315]
z: <class 'NoneType'> None
# note : this might be a better implementation
def get_random_numbers(n=1):
if n == 1:
return [random.random()]
elif n > 1:
numbers = []
for i in range(0, n):
numbers.append(random.random())
return numbers
else:
return []
w = get_random_numbers()
print('w:', type(w), w)
x = get_random_numbers(1)
print('x:', type(x), x)
y = get_random_numbers(n=3)
print('y:', type(y), y)
z = get_random_numbers(n=-1)
print('z:', type(z), z)
w: <class 'list'> [0.10411388008487865]
x: <class 'list'> [0.7998484189289874]
y: <class 'list'> [0.4288972071605044, 0.8683514593535158, 0.05420177266859705]
z: <class 'list'> []
Required Arguments
Required arguments are mandatory and you will generate an error if they’re not present. Required arguments must be passed in precisely the right order, just like in the following example:
def say_something(message, number_of_times):
for i in range(0, number_of_times):
print(message)
# arguments passed in the proper order
say_something('hello', 3)
hello
hello
hello
# arguments passed incorrectly
say_something(3, 'hello')
-----------------------------------
TypeErrorTraceback (most recent call last)
<ipython-input-51-b19729b65905> in <module>
1 # arguments passed incorrectly
----> 2 say_something(3, 'hello')
<ipython-input-50-70cae7a69ece> in say_something(message, number_of_times)
1 def say_something(message, number_of_times):
----> 2 for i in range(0, number_of_times):
3 print(message)
4
5 # arguments passed in the proper order
TypeError: 'str' object cannot be interpreted as an integer
Keyword Arguments
You can use keyword arguments to make sure that you call all the parameters in the right order. You can do so by specifying their parameter name in the function call.
say_something(message='hello', number_of_times=3)
say_something(number_of_times=3, message='hello')
hello
hello
hello
hello
hello
hello
Variable Number of Arguments
In cases where you don’t know the exact number of arguments that you want to pass to a function, you can use the following syntax with *args:
def add(*x):
print(type(x), x)
total = 0
for i in x:
total += i
return total
total = add(1)
print(total)
total = add(1, 1)
print(total)
total = add(1, 2, 3, 4, 5)
print(total)
<class 'tuple'> (1,)
1
<class 'tuple'> (1, 1)
2
<class 'tuple'> (1, 2, 3, 4, 5)
15
The asterisk *
is placed before the variable name that holds the values of all nonkeyword variable arguments. Note here that you might as well have passed *varint
, *var_int_args
or any other name to the plus()
function.
# You can spedify any combination of required, keyword, and variable arguments.
def add(a, b, *args):
total = a + b
for arg in args:
total += arg
return total
total = add(1, 1)
print(total)
total = add(1, 1, 2)
print(total)
total = add(1, 2, 3, 4, 5)
print(total)
2
4
15
Global vs Local Variables
In general, variables that are defined inside a function body have a local scope, and those defined outside have a global scope. That means that local variables are defined within a function block and can only be accessed inside that function, while global variables can be obtained by all functions that might be in your script:
# global variable
score = 0
def player_hit():
global score
hit_points = -10 # local variable
score += hit_points
def enemy_hit():
global score
hit_points = 5 # local variable
score += hit_points
enemy_hit()
enemy_hit()
enemy_hit()
enemy_hit()
player_hit()
enemy_hit()
player_hit()
print(score)
5
Anonymous Functions in Python
Anonymous functions are also called lambda functions in Python because instead of declaring them with the standard def keyword, you use the lambda
keyword.
def double(x):
return x * 2
y = double(3)
print(y)
6
d = lambda x: x * 2
y = d(3)
print(y)
6
sdlfjsdk = lambda x, n: x if n < 5 else 0
result = sdlfjsdk(4, 6)
print(result)
0
a = lambda x: x ** 2 if x < 0 else x
print(a(-1))
print(a(-2))
print(a(3))
1
4
3
add = lambda x, y: x + y
x = add(2, 3)
print(x)
5
You use anonymous functions when you require a nameless function for a short period of time, and that is created at runtime. Specific contexts in which this would be relevant is when you’re working with filter()
, map()
and reduce()
:
filter()
function filters the original input list on the basis of a criterion > 10.map()
applies a function to all items of the listreduce()
is part of the functools library. You use this function cumulatively to the items of the my_list list, from left to right and reduce the sequence to a single value.
from functools import reduce
my_list = [1,2,3,4,5,6,7,8,9,10]
# Use lambda function with `filter()`
filtered_list = list(filter(lambda x: (x * 2 > 10), my_list))
# Use lambda function with `map()`
mapped_list = list(map(lambda x: x * 2, my_list))
# Use lambda function with `reduce()`
reduced_list = reduce(lambda x, y: x + y, my_list)
print(filtered_list)
print(mapped_list)
print(reduced_list)
[6, 7, 8, 9, 10]
[2, 4, 6, 8, 10, 12, 14, 16, 18, 20]
55
Using main() as a Function
You can easily define a main() function and call it just like you have done with all of the other functions above:
# Define `main()` function
def main():
print("This is a main function")
main()
This is a main function
However, as it stands now, the code of your main()
function will be called when you import it as a module. To make sure that this doesn’t happen, you call the main()
function when __name__ == '__main__'
.
# Define `main()` function
def start_here():
print("This is a main function")
# Execute `main()` function
if __name__ == '__main__':
start_here()
This is a main function


This is an account of a difficul trip I had about three years ago. I've tried to write it up before but I never felt I've given this trip it's due and therefore I will try again.
It was the summer before grade 10, I was 14 years old and I was discovering the herbal escapes that nature has provided humans with. It was all very exciting but now, three years later, I would consider myself foolhardy to be wrecklessy endangering my brain chemistry at such a tender age. Even now I still wonder if I'm making the right choices.
Anyhow, as expected it all started with drinking at the end of grade 8, a few cigarettes over grade 9, towards the end of grade 9 I'd puff some joints and in the summer I was smoking over 4 grams of pot a day. It seemed like a great choice, an easy answer but the real effects were not revealed until the second time I used magic mushrooms.
It was a sunny August day in Saltspring Island. Saltspring Island is one of those islands in British Columbia where hippies still exist in a noticable kind of way. That means that theres some great Ganja and it's easy to aquire just about any kind of trip you want.
As I had a visiting friend from England and it was another friend's birthday the desired trip was magic mushrooms. My english friend, henceforth: Jim was a virgin to shrooms and the birthday boy, let's say: Will, didn't want any so we set out to buy 6 grams of dried shrooms. I'd done 2 grams the week before and enjoyed it thoroughly.
Once we had the six grams of shrooms we went to Will's house ate the shrooms and hopped on Will's little motor boat to go cliff jumping.
This is important: NEVER DO ANY DANGEROUS ACTIVITIES WHILE INTOXICATED.

We arrived at the cliffs about 15 minutes after dosing and the sun beamed brightly upon us. I was in a fantastic mood. Jim lit up a joint and we all shared four joints back to back.
Then the mushrooms kicked in. THere's no point in including time for the next section. It was far too abstract to comprehend.
I looked at my hands to discover that they were changing into the blue-gray colour of the rocks I rested them upon. Cool, I thought and waved them infront of my face and watched the magnificent comet tails follow them.
The sun stared at me. Ominously. The sun is angry at me. It is hot. So damned hot. I have to exfoliate. I have to shed my skin. Just like a snake.
Jim, Will and I climbed to the top of the cliff to feel the cool breeze.
Giant tidal waves crash towards us and my friends are dripping. Their flesh is dripping off their faces like plague victims. And they're mocking me.
I try not to look at them but I am surrounded. The sun is everywhere and it is turning my skin into leather and my body is swelling. There is nowhere to go. I am trapped on a cliff with an evil sun soldering me and zombies for friends.
This I feel is when I recessed into my Id. They say the Id is the reptilian part of the brain which is the only way I can explain the fragmented memory I have of that day.
I am a lizard and I am hiding. I am curled into a ball and I am in the shade. The sun can't get me here. My leather skin is too tight. I am sick. My life expectancy is short. I am afraid to open my eyes because what I will see might devour me. Be it the sun or those zombies. I can't open my eyes.
I hear voices.
'Are you alright?'
'What's wrong?'
I hear my own voice.
'I'm throwing up.'
I hear voices.
'No. YOu're not.'
This goes on for too long and then I open my eyes and there's a boat to pick us up. I have regained enough of my ego to know I'm not a lizard. I recognise people on the boat. It's Will's sister and her friends.
I am sitting on the boat but I feel like a lizard again. So hot and so scared. I am crying out of fear and there are people staring at me. They are Will's sisters friends but they don't have to stare. THEY DON'T UNDERSTAND. Or do they? Because they are comforting and quieting and they drive around on the boat until I am calm. And I am taking deep breaths and every breath I take alters the shape of the world into something more recognisable. Until finally I have regained ego. By no means is the trip over. It's not even half over. But I am in control now. It's not just my id reacting to the poisons in my blood. Now I am controling the trip and it doesn't even feel that bad. In fact I'm having a hard time not smiling except that some people seem angry at me.
Next thing I know I'm sipping a glass of water and the world is still breathing but I'm holding what seems to be a normal conversation with Will's parents. I feel good. I am being tickled by a thousand pixies inside my bloodstream.
Will's parents drop me and Jim off in town. We finally regain a semblance of time and it's been about four hours since we took the mushrooms. We're both very high and Jim has been grinning like a maniac for a while. We smoke some cigarettes and fumble for words to try and describe the experience.
'Tickly' Jim suggests.
'Boo!' I say.
'Boo... I like that, there may be something to that'
'Yah.'
The effects decline over about four more hours and it's about nine in the evening and I just feel groggy and so we go back to my house and sleep.
The next day I felt very embarassed but everyone was goodspirited about the whole event and so it wasn't too bad.
In retrospect I can answer what seems to be the results of that trip:
1. It was the catalyst for a medium level depression that took over a year to go away.
2. Call this stupidity but I felt that I had to take shrooms again to prove to myself I was brave. I did and have taken shrooms 25 times since although I've stopped probably forever now. I never had a truly wonderful experience on mushrooms since but never a bad one either.
3. It showed me the weakest vision of myself and in a way I am very thankful. I didn't really know myself back then but now I feel I really am very self aware. Maybe it's just age or maturity. Maybe tripping on all kinds of things opened doors that were otherwise closed in my brain. I'd say it's probably a combination of both and this report is going on too long. If I was to explain the changes of perception drugs and time have caused in my life I'd need to write a novel. In fact... I am.
Best wishes.
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.


--- layout: page title: About header-img: "img/about-bg.png" ---
My background is in statistics. I have worked as a statistician and data analyst for 5 years. I love working with data, as it is similar to solving puzzles. One of the good things about data is that it gives you clues to discover new information. Any data behavior has its reasons and logic.


My favorite hobbys
I enjoy playing for fun with leagues during the summer for soccer because that is the sport that i love and very skilled in. In my free time I enjoy playing my guitar and like to learn knew songs everytime i have completed one.
I also enjoy playing basketball with other people mostly 5v5 outside or inside doesnt matter to me. Whenever Im boerd I tend to play rocketleague or Modern warfare which Im very good at playing. I also enjoy walking around a forest
perserves and one day I would like to take my dog with me.
Greasteast innovations
the most significant of the inventions that paved the way for the PC revolution was the microprocessor. Before microprocessors were invented, computers needed a separate integrated-circuit chip for each one of their functions.
https://www.britannica.com/technology/microprocessor
A personal Pc is a multi-purpose computer whose size, capabilities, and price make it feasible for individual use. Personal computers are intended to be operated directly by an end user, rather than by a computer expert or technician.
https://www.computerantique.com/history-of-the-pc
controller software A controller, in a computing context, is a hardware device or a software program that manages or directs the flow of data between two entities.
https://whatis.techtarget.com/definition/controller
Fun Facts
In highschool I did boxing
In highschool I was in the soccer team
I enjoy riding my bike around the neighborhood
I can also play the drums


{% load cms_tags wagtailcore_tags wagtailimages_tags %}
{{record.language|safe}} Lemma
{{ record.lemma }}
{{record.language|safe}} Variants
{{record.language|safe}} POS
{{record.language|safe}} Morphologically related words
Ranking/frequency in {{record.language|safe}}
{{record.language|safe}} First attestation
{{record.language|safe}} Historical frequency (per million words)
{{record.language|safe}} Semantic history
{{record.language|safe}} Collocational history
{{record.language|safe}} Diatopic Variation
{{record.language|safe}} Diaphasic Variation


Unity offers an Asset Server add-on product for easy integrated versioning of your projects and you can also use Perforce and PlasticSCM as external tools (see Version Control Integration for further details). If you for some reason are not able use these systems, it is possible to store your project in any other version control system, such as Subversion or Bazaar. This requires some initial manual setup of your project.
Before checking your project in, you have to tell Unity to modify the project structure slightly to make it compatible with storing assets in an external version control system. This is done by selecting Edit->Project Settings->Editor in the application menu and enabling External Version Control support by selecting Visible Meta Files in the dropdown for Version Control. This will show a text file for every asset in the Assets
directory containing the necessary bookkeeping information required by Unity. The files will have a .meta
file extension with the first part being the full file name of the asset it is associated with. Moving and renaming assets within Unity should also update the relevant .meta
files. However, if you move or rename assets from an external tool, make sure to syncronize the relevant .meta
files as well.
When checking the project into a version control system, you should add the Assets
and the ProjectSettings
directories to the system. The Library
directory should be completely ignored - when using .meta files, it’s only a local cache of imported assets.
When creating new assets, make sure both the asset itself and the associated .meta
file is added to version control.
First, let’s assume that we have a subversion repository at svn://my.svn.server.com/
and want to create a project at svn://my.svn.server.com/MyUnityProject
.
Then follow these steps to create the initial import in the system:
Create a new project inside Unity and call it InitialUnityProject
. You can add any initial assets here or add them later on.
Enable Visible Meta files in Edit->Project Settings->Editor
Quit Unity (this ensures that all the files are saved).
Delete the Library
directory inside your project directory.
Import the project directory into Subversion. If you are using the command line client, this is done like this from the directory where your initial project is located:
svn import -m"Initial project import" InitialUnityProject svn://my.svn.server.com/MyUnityProject
If successful, the project should now be imported into subversion and you can delete the InitialUnityProject
directory if you wish.
Check out the project back from subversion
svn co svn://my.svn.server.com/MyUnityProject
And check that the Assets
and ProjectSettings
directory are versioned.
Open the checked out project with Unity by launching it while holding down the Option or the left Alt key. Opening the project will recreate the Library
directory in step 4 above.
Optional: Set up an ignore filter for the unversioned Library
directory:
svn propedit svn:ignore MyUnityProject/
Subversion will open a text editor. Add the Library directory.
Finally commit the changes. The project should now be set up and ready:
svn ci -m"Finishing project import" MyUnityProject


Specify the name of the Bitbucket Team or Bitbucket User Account.
It could be a Bitbucket Project also, if using Bitbucket Server.
In this case (Bitbucket Server):
- Use the project key, not the project name.
- If using a user account instead of a project, add a "~" character before the username, i.e. "~joe".


This documentation relates to Opera's now deprecated .oex Extension API framework for Opera versions <= 12.15 and also provided by our OEX2NEX shim library.
For the latest Opera Extensions API documentation for Opera versions > 12.15 please consult the latest Opera Extensions API documentation online.
The widget
object provides functionality for accessing an extension's metadata and persistently-stored data. It can be accessed from any of the extension's environments, such as background process, popup window, injected script or preferences page. Note that the widget
object is readonly and therefore cannot be used to edit or store values on-the-fly.
The below example shows how simple it is to access data within the widget
object.
//
// The preferences page (e.g. options.js)
//
var footer = 'This extension is the work of ' + widget.author + '';
document.body.innerHTML += footer;


Kathryn E. Herold
RICHLAND CENTER, Wis. - Kathryn E. Herold age 100 of Richland Center passed away on Thursday, November 14, 2019 at Pine Valley Healthcare & Rehabilitation Center.
She was born on March 30, 1919 in Richland County, the daughter of Henry and Mary (Schneider) Stadele. Kathryn was married on March 26, 1951 to Emmett W. Herold and was a member of St. Mary the Assumption Catholic Church in Richland Center. Survivors include, 2 sisters, Regina Hennessy of Boscobel, Rosemary Gassen of Stoughton, many nieces, nephews, other relatives and friends.
She was preceded in death by her parents, Henry and Mary Stadele, her husband, Emmett Herold, 5 brothers, Bernard (Mary), Clem (Mabel), Donald (Virginia), Anthony (Mary) and Francis (Kathy) Stadele, 2 sisters, Agnes (Harold) Kinyon, Dorothy (Leo) Lester, 2 brothers-in-law, Martin Gassen, Frank Hennessy and a sister-in-law, Mary (Leo) O'Connor.
A Mass of Christian Burial will be held on Wednesday, November 20, 2019 at 11:00 A.M. at St. Mary the Assumption Catholic Church in Richland Center. Monsignor Roger Scheckel will officiate with burial in the church cemetery.
Visitation will be held on Wednesday at the church from 9:30 A.M. until the time of Mass. Memorials may be made to St. Mary's Catholic School Endowment Fund or Pine Valley Healthcare & Rehabilitation Center.
Online condolences available at www.staffordfuneralhomes.com. The Stafford Funeral Home is assisting the family with the arrangements.


TerminusDB Discussions
One of the really nice things about TerminusDB is our weekly get together where one team member gives a short presentation on something. It doesn’t have to be work, it doesn’t have to be TerminusDB, it can be anything really.
We are a moderately distributed team and we have plenty of opportunity for detailed technical discussion (indexing strategy anyone?) so we thought that it’d be a good idea to start a less formal weekly exchange. One member of the team leads the discussion and the rest contribute with questions & comments.
Over the year and a bit since we started the tradition, we’ve had everything from the innards of JavaScript to Crypto Kitties to Theories of Developer Relations to Cloud Architecture to the Dialectics of Software Development (a personal favorite — I must post the slides).
The right superstructure is important
We’ve also had nuclear power, the political economy of open source software, values vs virtues and Terry Davis (TempleOS is something else — I’d encourage all to check it out).
Really whatever was of special interest to the person assigned that day. I looked back through the chat and realize that I have suggested ‘Practical Maoism for the Workplace’ twice and nobody has taken up my lead.
The system’s features, such as its 640x480 resolution, 16-color display and single audio voice, were explicitly instructed to Terry Davis by God
The tradition has grown to be an important part of every TerminusDB week. If we continue to grow the core group, I’m not sure how we’ll scale — 1 week in 30 might be a little infrequent. We can cross that bridge when we get there.
So anyway, we really value these discussions and thought the the broader Terminus Community might also enjoy. We’ve recorded the latest discussion, which took place yesterday, and uploaded it to our YouTube channel.
This week we were led by our BDFL Gavin in a discussion of ‘Regular Expressions - Theory and Practice’. It covers a bunch of interesting aspects including Chomsky’s Hierarchy, Büchi automata, grammars and much more.
I apologize for the sound quality issues — we’ll work on a setup that captures the various contributors in high fidelity. At least you can hear the main presentation. Only one instance of adult language — less than normal I’d say — so be warned.
This will be a regular series, so watch this space.
Building the database of the future.


REPLY TO<EMAIL_ADDRESS><EMAIL_ADDRESS>FROM: MR JOHN KELU COUNTRY: (BENIN REPUBLIC) BENIN REPUBLIC TEL: +229-481137 SATELLITE TEL: +88216-46689736 My name is MR JOHN KELU from LIBERIA, a Country in WEST AFRICA. I am in a hide out now in BENIN REPUBLIC, a neighboring Country in the same West African. I have Large sum of money for INVESTMENT. The money is in Millions of U.S. dollars. I need Your help urgently for both SAFE KEEPING and INVESTING this money in your country. I cannot move about freely now for reasons i will explain to you later. My Uncle is MR JOHN Y. WINPOE. He was a former DEPUTY MINISTER OF NATIONAL SECURITY in LIBERIA. My Uncle made this money from DIAMOND BUSINESS while he was a DEPUTY MINISTER OF NATIONAL SECURITY. He was falsely accused of plotting to remove the then PRESIDENT OF LIBERIA (PRESIDENT CHARLES TAYLOR) from office. Without trial, he was killed by Charles Taylor. You can verify this from LIBERIAN EMBASSY in your country. You can also check in some of the international news papers posted in the web sites bellow: http://www.usatoday.com/news/world/2003-07-15-liberia_x.htm http://www.unwire.org/UNWire/20030716/449_6621.asp You are one of the three email contacts given to me by a Cyber Cafe' operator on my request for a foreign contact.  Though I did not tell her why I needed the contact of any foreigner. Because of the urgent and confidential nature of this business, you are advised to keep everything secret for now. If you are interested in doing this business with me, kindly reply immediately to my two email Addresses<EMAIL_ADDRESS>OR<EMAIL_ADDRESS>After that, i will send you all the details about this business. You may if you so wish call me any time on my satellite phone: +88216-46689736. This is a THURAYA satellite phone. You can get THURAYA TELEPHONE easily by calling with AT&T, WORLDCOM, or SPRINT Telephones. Your Telephone Company will advice you. As from Tuesday (11/11/2003), I will be in the city. Only then can you get me on My BENIN REPUBLIC telephone number: +229-481137 Thanks while waiting for your immediate reply. MR JOHN KELU (For the Family).


The Four Shades of Decision Making
Updated on | By DJ Strouse | Permalink
How should we define and measure randomness?
Ever since Americans were sent into a tizzy over that little “taxation without representation” issue with King George, we’ve obsessed over democracy and freedom of choice. Naturally, we assume that more choices and more freedom to evaluate and select them is unqualifiably better.
Until a few years ago, I would have agreed. Then one serendipitous day, I met TED.com and watched my virgin TED Talk - Barry Schwarz’s “Paradox of Choice”. His point was clear. Our cognitive faculties evolved in an era with far fewer decisions and are poorly suited to deal with today’s glut of information and decisions.
A recent podcast from WNYC Radiolab (best podcast production values this side of the YouTube era) and a recent conversation with Shane Lofgren and Daniel Bachhuber on the cognitive surplus and wasted “cognitive cycles” caused me to revisit the issue. In the podcast, British neurologist and popular author Oliver Sacks describes his practice of purchasing the same, one-week supply of groceries every Sunday in an effort to reduce the cognitive cycles he spends on food decisions. Sacks points out that he feels no less joy with the same meals every week. In fact, by avoiding the slight amount of stress and regret that can go into eating decisions, he believes he’s actually happier with less choice.
Now of course Sacks made the choice to adopt this strategy in the first place and made the initial choice of which foods we would purchase each week, but the key idea still emerges. Not all choices are better served by more options and more freedom. Our time is valuable and there are choices we want to spend time making and choices we don’t.
I like to think of choices as existing on a Cartesian Choice Plane with two parameters: Significance and Novelty.
Novel, significant choices are those requiring the most time input. You’ve never encountered them before, but their consequences are meaningful to you. You’ll need to invest your time and mental effort to evaluate a series of possible decisions and select the “best” one based on your predictions of their effects. These vary by person but range from choosing a job and spouse to purchasing Christmas gifts.
Novel, insignificant choices are the most distracting and misleading. You’ve never encountered them before so their novelty grasps your attention. Yet, at the same time, they’re not especially important to you and have few significant consequences for your life. You’ll want to make these with little investigation of time investment, perhaps based on friends’ recommendations or initial reactions. These likely include purchase of a case for your new iPod, ordering of food at a foreign restaurant, or choice of wrapping paper.
Familiar, significant choices are also very important. You encounter them often but each time, their consequences are meaningful to you. They are the daily decisions that you hope to develop as “good habits.” You might invest the time to make these decisions once and from that point on, react in the same way each time, periodically re-evaluating whether this is still the “best” choice. These choices include exercise and healthy eating.
Familiar, insignificant choices are pretty uninteresting. You’ve seen them before and you really don’t care much about their outcome. You might choose to respond in the same way every time (eliminating the time burden this choice places on you at all) or you might choose a “randomly selected” response each time to mix it up. The key is not to invest too much time here. These choices include which pen to use to write a letter, which mug to use for your coffee, and which brand of kidney beans to select at the grocery store.
So which decisions do you prioritize?


"Enumerable is possible in Ruby due to the notion of “mixins.” In most languages, code sharing is only possible through inheritance, and inheritance is generally limited to one parent class. In addition to classes, Ruby has modules which are containers for methods and constants. If you want to write code once and share it between a bunch of unrelated classes, you can put it in modules to be “mixed in” with your classes. Note that this is different from sharing an interface, like in Java, where only method signatures are shared." - sitepoint
Cycle Method:
cycle(n=nil){|obj| block} --> nil
This method invokes a block of code for each element of 'enum' repeatedly n times or forever if none or 'nil' is given. If a non-positive number is given or the collection is empty, this does nothing. Returns 'nil' if the loop has finished without being interrupted. Lastly, if no block is given, then an emumerator is returned instead.
Example:
numbers = [1, 2, 3]
numbers.cycle {|n| puts n}
Output: 1, 2, 3, 1, 2, 3,... forever
numbers.cycle(3) {|n| puts n}
Output: 1, 2, 3, 1, 2, 3


This topic takes you through a typical sequence of tasks that you execute after starting gfsh
.
Step 1: Create a scratch working directory and change to that directory. For example:
$ mkdir gfsh_tutorial
$ cd gfsh_tutorial
Step 1: Start a gfsh prompt.
$ gfsh
_________________________ __
/ _____/ ______/ ______/ /____/ /
/ / __/ /___ /_____ / _____ /
/ /__/ / ____/ _____/ / / / /
/______/_/ /______/_/ /_/
Monitor and Manage Geode
gfsh>
See Starting gfsh for details.
Step 2: Start up a locator. Enter the following command:
gfsh>start locator --name=locator1
The following output appears:
gfsh>start locator --name=locator1
.....
Locator in /home/username/gfsh_tutorial/locator1 on <IP_ADDRESS>[10334]
as locator1 is currently online.
Process ID: 67666
Uptime: 6 seconds
Geode Version: 1.6
Java Version: 1.8.0_121
Log File: /home/username/gfsh_tutorial/locator1.log
JVM Arguments: -Dgemfire.enable-cluster-configuration=true
-Dgemfire.load-cluster-configuration-from-dir=false
-Dgemfire.launcher.registerSignalHandlers=true
-Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: /home/username/geode/geode-assembly/build/install/apache-geode/lib
/geode-core-1.2.0.jar:/home/username/geode/geode-assembly/build/install/apache-geode
/lib/geode-dependencies.jar
Successfully connected to: JMX Manager [host=<IP_ADDRESS>, port=1099]
Cluster configuration service is up and running.
If you run start locator
from gfsh without specifying the member name, gfsh will automatically pick a random member name. This is useful for automation.
In your file system, examine the folder location where you executed gfsh
. Notice that the start
locator
command has automatically created a working directory (using the name of the locator), and
within that working directory, it has created a log file, a status file, and a .pid (containing the
locator’s process ID) for this locator.
In addition, because no other JMX Manager exists yet, notice that gfsh
has automatically started an embedded JMX Manager on port 1099 within the locator and has connected you to that JMX Manager.
Step 3: Examine the existing gfsh connection.
In the current shell, type the following command:
gfsh>describe connection
If you are connected to the JMX Manager started within the locator that you started in Step 2, the following output appears:
gfsh>describe connection
Connection Endpoints
--------------------
ubuntu.local[1099]
Notice that the JMX Manager is on 1099 whereas the locator was assigned the default port of 10334.
Step 4: Connect to the same locator/JMX Manager from a different terminal.
This step shows you how to connect to a locator/JMX Manager. Open a second terminal window, and start a second gfsh
prompt. Type the same command as you did in Step 3 in the second prompt:
gfsh>describe connection
This time, notice that you are not connected to a JMX Manager, and the following output appears:
gfsh>describe connection
Connection Endpoints
--------------------
Not connected
Type the following command in the second gfsh
terminal:
gfsh>connect
The command will connect you to the currently running local locator that you started in Step 2.
gfsh>connect
Connecting to Locator at [host=localhost, port=10334] ..
Connecting to Manager at [host=ubuntu.local, port=1099] ..
Successfully connected to: [host=ubuntu.local, port=1099]
Note that if you had used a custom --port
when starting your locator, or you were connecting from the gfsh
prompt on another member, you would also need to specify --locator=hostname[port]
when connecting to the distributed system. For example (type disconnect
first if you want to try this next command):
gfsh>connect --locator=localhost[10334]
Connecting to Locator at [host=localhost, port=10334] ..
Connecting to Manager at [host=ubuntu.local, port=1099] ..
Successfully connected to: [host=ubuntu.local, port=1099]
Another way to connect your gfsh
prompt to the distributed system would be to connect to directly to the JMX Manager running inside the locator. For example (type disconnect
first if you want to try this next command):
gfsh>connect --jmx-manager=localhost[1099]
Connecting to Manager at [host=localhost, port=1099] ..
Successfully connected to: [host=localhost, port=1099]
In addition, you can connect to remote clusters over HTTP. See Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS.
Step 5: Disconnect and close the second terminal window. Type the following commands to disconnect and exit the second gfsh
prompt:
gfsh>disconnect
Disconnecting from: localhost[1099]
Disconnected from : localhost[1099]
gfsh>exit
Close the second terminal window.
Step 6: Start up a server. Return to your first terminal window, and start up a cache server that uses the locator you started in Step 2. Type the following command:
gfsh>start server --name=server1 --locators=localhost[10334]
If the server starts successfully, the following output appears:
gfsh>start server --name=server1 --locators=localhost[10334]
Starting a Geode Server in /home/username/gfsh_tutorial/server1/server1.log...
...
Server in /home/username/gfsh_tutorial/server1 on <IP_ADDRESS>[40404] as server1
is currently online.
Process ID: 68375
Uptime: 4 seconds
Geode Version: 1.6
Java Version: 1.8.0_121
Log File: /home/username//gfsh_tutorial/server1/server1.log
JVM Arguments: -Dgemfire.locators=localhost[10334]
-Dgemfire.use-cluster-configuration=true -Dgemfire.start-dev-rest-api=false
-XX:OnOutOfMemoryError=kill -KILL %p
-Dgemfire.launcher.registerSignalHandlers=true
-Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: /home/username/geode/geode-assembly/build/install/apache-geode/lib
/geode-core-1.2.0.jar:/home/username/geode/geode-assembly/build/install
/apache-geode/lib/geode-dependencies.jar
If you run start server
from gfsh without specifying the member name, gfsh will automatically pick a random member name. This is useful for automation.
In your file system, examine the folder location where you executed gfsh
. Notice that just like
the start locator
command, the start server
command has automatically created a working
directory (named after the server), and within that working directory, it has created a log file and
a .pid (containing the server’s process ID) for this cache server. In addition, it has also written
log files.
Step 7: List members. Use the list members
command to view the current members of the Apache Geode distributed system you have just created.
gfsh>list members
Name | Id
------------ | ---------------------------------------
Coordinator: | ubuntu(locator1:5610:locator)<ec><v0>:34168
locator1 | ubuntu(locator1:5610:locator)<ec><v0>:34168
server1 | ubuntu(server1:5931)<v1>:35285
Step 8: View member details by executing the describe member
command.
gfsh>describe member --name=server1
Name : server1
Id : ubuntu(server1:5931)<v1>:35285
Host : ubuntu.local
Regions :
PID : 5931
Groups :
Used Heap : 12M
Max Heap : 239M
Working Dir : /home/username/gfsh_tutorial/server1
Log file : /home/username/gfsh_tutorial/server1/server1.log
Locators : localhost[10334]
Cache Server Information
Server Bind :
Server Port : 40404
Running : true
Client Connections : 0
Note that no regions have been assigned to this member yet.
Step 9: Create your first region. Type the following command followed by the tab key:
gfsh>create region --name=region1 --type=
A list of possible region types appears, followed by the partial command you entered:
gfsh>create region --name=region1 --type=
PARTITION
PARTITION_REDUNDANT
PARTITION_PERSISTENT
PARTITION_REDUNDANT_PERSISTENT
PARTITION_OVERFLOW
PARTITION_REDUNDANT_OVERFLOW
PARTITION_PERSISTENT_OVERFLOW
PARTITION_REDUNDANT_PERSISTENT_OVERFLOW
PARTITION_HEAP_LRU
PARTITION_REDUNDANT_HEAP_LRU
REPLICATE
REPLICATE_PERSISTENT
REPLICATE_OVERFLOW
REPLICATE_PERSISTENT_OVERFLOW
REPLICATE_HEAP_LRU
LOCAL
LOCAL_PERSISTENT
LOCAL_HEAP_LRU
LOCAL_OVERFLOW
LOCAL_PERSISTENT_OVERFLOW
PARTITION_PROXY
PARTITION_PROXY_REDUNDANT
REPLICATE_PROXY
gfsh>create region --name=region1 --type=
Complete the command with the type of region you want to create. For example, create a local region:
gfsh>create region --name=region1 --type=LOCAL
Member | Status
------- | --------------------------------------
server1 | Region "/region1" created on "server1"
Because only one server is in the distributed system at the moment, the command creates the local region on server1.
Step 10: Start another server. This time specify a --server-port
argument with a different server port because you are starting a cache server process on the same host machine.
gfsh>start server --name=server2 --server-port=40405
Starting a Geode Server in /home/username/gfsh_tutorial/server2...
...
Server in /home/username/gfsh_tutorial/server2 on <IP_ADDRESS>[40405] as
server2 is currently online.
Process ID: 68423
Uptime: 4 seconds
Geode Version: 1.6
Java Version: 1.8.0_121
Log File: /home/username/gfsh_tutorial/server2/server2.log
JVM Arguments: -Dgemfire.default.locators=<IP_ADDRESS>[10334]
-Dgemfire.use-cluster-configuration=true -Dgemfire.start-dev-rest-api=false
-XX:OnOutOfMemoryError=kill -KILL %p -Dgemfire.launcher.registerSignalHandlers=true
-Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: /home/username/geode/geode-assembly/build/install/apache-geode
/lib/geode-core-1.2.0.jar:/home/username/geode/geode-assembly/build/install
/apache-geode/lib/geode-dependencies.jar
Step 11: Create a replicated region.
gfsh>create region --name=region2 --type=REPLICATE
Member | Status
------- | --------------------------------------
server1 | Region "/region2" created on "server1"
server2 | Region "/region2" created on "server2"
Step 12: Create a partitioned region.
gfsh>create region --name=region3 --type=PARTITION
Member | Status
------- | --------------------------------------
server1 | Region "/region3" created on "server1"
server2 | Region "/region3" created on "server2"
Step 13: Create a replicated, persistent region.
gfsh>create region --name=region4 --type=REPLICATE_PERSISTENT
Member | Status
------- | --------------------------------------
server1 | Region "/region4" created on "server1"
server2 | Region "/region4" created on "server2"
Step 14: List regions. A list of all the regions you just created displays.
gfsh>list regions
List of regions
---------------
region1
region2
region3
region4
Step 15: View member details again by executing the describe member
command.
gfsh>describe member --name=server1
Name : server1
Id : ubuntu(server1:5931)<v1>:35285
Host : ubuntu.local
Regions : region4
region3
region2
region1
PID : 5931
Groups :
Used Heap : 14M
Max Heap : 239M
Working Dir : /home/username/gfsh_tutorial/server1
Log file : /home/username/gfsh_tutorial/server1/server1.log
Locators : localhost[10334]
Cache Server Information
Server Bind :
Server Port : 40404
Running : true
Client Connections : 0
Notice that all the regions that you created now appear in the “Regions” section of the member description.
gfsh>describe member --name=server2
Name : server2
Id : ubuntu(server2:6092)<v2>:17443
Host : ubuntu.local
Regions : region4
region3
region2
region1
PID : 6092
Groups :
Used Heap : 14M
Max Heap : 239M
Working Dir : /home/username/gfsh_tutorial/server2
Log file : /home/username/gfsh_tutorial/server2/server2.log
Locators : <IP_ADDRESS>[10334]
Cache Server Information
Server Bind :
Server Port : 40405
Running : true
Client Connections : 0
Note that even though you brought up the second server after creating the first region (region1), the second server still lists region1 because it picked up its configuration from the cluster configuration service.
Step 16: Put data in a local region. Enter the following put command:
gfsh>put --key=('123') --value=('ABC') --region=region1
Result : true
Key Class : java.lang.String
Key : ('123')
Value Class : java.lang.String
Old Value : <NULL>
Step 17: Put data in a replicated region. Enter the following put command:
gfsh>put --key=('123abc') --value=('Hello World!!') --region=region2
Result : true
Key Class : java.lang.String
Key : ('123abc')
Value Class : java.lang.String
Old Value : <NULL>
Step 18: Retrieve data. You can use locate entry
, query
or get
to return the data you just put into the region.
For example, using the get
command:
gfsh>get --key=('123') --region=region1
Result : true
Key Class : java.lang.String
Key : ('123')
Value Class : java.lang.String
Value : ('ABC')
For example, using the locate entry
command:
gfsh>locate entry --key=('123abc') --region=region2
Result : true
Key Class : java.lang.String
Key : ('123abc')
Locations Found : 2
MemberName | MemberId
---------- | -------------------------------
server2 | ubuntu(server2:6092)<v2>:17443
server1 | ubuntu(server1:5931)<v1>:35285
Notice that because the entry was put into a replicated region the entry is located on both distributed system members.
For example, using the query
command:
gfsh>query --query='SELECT * FROM /region2'
Result : true
startCount : 0
endCount : 20
Rows : 1
Result
-----------------
('Hello World!!')
NEXT_STEP_NAME : END
Step 19: Export your data. To save region data, you can use the export data
command.
For example:
gfsh>export data --region=region1 --file=region1.gfd --member=server1
You can later use the import data
command to import that data into the same region on another member.
Step 20: Shutdown the cluster.
gfsh>shutdown --include-locators=true


|
|||||||||||
| PREV NEXT | FRAMES NO FRAMES |
| Packages that use LobSource | |
| org.axiondb.types |
DataType implementations. |
| Uses of LobSource in org.axiondb.types |
| Classes in org.axiondb.types that implement LobSource | |
class |
CompressedLobSource
A LobSource that compresses/decompresses
the input/output streams using GZIP compression. |
class |
FileLobSource
A LobSource that's backed by a simple File . |
class |
FileOffsetLobSource
A LobSource that's backed by a single file, storing
each LOB as an offset and length. |
| Methods in org.axiondb.types that return LobSource | |
LobSource |
FileOffsetLobLocator.getLobSource(File parentDir,
RandomAccessFile dataFile)
|
LobSource |
FileLobLocator.getLobSource(File parentDir,
RandomAccessFile dataFile)
|
LobSource |
LobLocator.getLobSource(File parentDir,
RandomAccessFile dataFile)
|
| Methods in org.axiondb.types with parameters of type LobSource | |
void |
ClobSource.setLobSource(LobSource lob)
|
void |
BlobSource.setLobSource(LobSource lob)
|
| Constructors in org.axiondb.types with parameters of type LobSource | |
CompressedLobSource(LobSource source)
|
|
ClobSource(LobSource lob)
|
|
BlobSource(LobSource lob)
|
|
|||||||||||
| PREV NEXT | FRAMES NO FRAMES |